Удалить каскадные регистрации

Как удалить регистрацию пользователя из каскадной структуры организационных единиц? В моем приложении я использую следующий путь для создания регистрации:

POST /d2l/api/lp/1.4/enrollments/

с телом запроса:

{
 "OrgUnitId": 123,
 "UserId": 4,
 "RoleId": 5
}

этот вызов создает 3 зачисления:

  1. OrgUnitId = 123 -> Предложение курса
  2. OrgUnitId=124 -> Раздел
  3. 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/

(См. Http://docs.valence.desire2learn.com/res/orgunit.html#get--d2l-api-lp-%28version%29-orgstructure-%28orgUnitId%29-descendants-)

Другие вопросы по тегам