Удалить каскадные регистрации
Как удалить регистрацию пользователя из каскадной структуры организационных единиц? В моем приложении я использую следующий путь для создания регистрации:
POST /d2l/api/lp/1.4/enrollments/
с телом запроса:
{
"OrgUnitId": 123,
"UserId": 4,
"RoleId": 5
}
этот вызов создает 3 зачисления:
- OrgUnitId = 123 -> Предложение курса
- OrgUnitId=124 -> Раздел
- OrgUnitId=125 -> Группа
Итак, я знаю только высший уровень orgUnitId (связанный с предложением курса). Другие зачисления создаются автоматически.
Когда я пытаюсь удалить записи, я использую следующий вызов DELETE:
/d2l/api/lp/1.4/enrollments/orgUnits/123/users/4
После этого звонка я все еще вижу "зачисление детей":
- OrgUnitId=124 -> Раздел
- OrgUnitId=125 -> Группа
Как я могу их удалить?
1 ответ
В идеале API мог бы справиться с этим, но вот альтернатива:
Вызов DELETE вернет блок EnrollmentData, показывающий предварительное удаление статуса:
{
"OrgUnitId": <number:D2LID>,
"UserId": <number:D2LID>,
"RoleId": <number:D2LID>,
"IsCascading": <boolean>
}
Если IsCascading имеет значение true, получите дочерние элементы, используя приведенный ниже запрос, и итерируйте исходный оператор DELETE для дочерних элементов OrgUnits.
GET /d2l/api/lp/(version)/orgstructure/(orgUnitId)/descendants/