删除级联注册

时间:2014-10-02 15:09:07

标签: desire2learn valence

如何从组织单位的级联结构中删除用户的注册? 在我的应用程序中,我使用以下路径创建注册:

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

请求正文:

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

此通话会创建3个注册:

  1. OrgUnitId = 123 - >课程设置
  2. OrgUnitId = 124 - >节
  3. OrgUnitId = 125 - >组
  4. 所以,我只知道顶级orgUnitId(与课程提供相关)。其他注册会自动创建。

    当我尝试删除注册时,我使用以下DELETE调用:

    /d2l/api/lp/1.4/enrollments/orgUnits/123/users/4
    

    在此通话结束后,我仍然看到“注册儿童”:

    • OrgUnitId = 124 - >节
    • OrgUnitId = 125 - >组

    如何删除它们?

1 个答案:

答案 0 :(得分:0)

理想情况下,API可以处理这个问题,但这里有另一种选择:

DELETE调用将返回一个EnrollmentData块,显示删除前的状态:

{
"OrgUnitId": <number:D2LID>,
"UserId": <number:D2LID>,
"RoleId": <number:D2LID>,
"IsCascading": <boolean>
}

如果IsCascading为true,则使用下面的请求检索子项,并在子项OrgUnits上迭代原始DELETE语句。

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-