canvas_sync 0.3.3 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +5 -5
  2. data/app/controllers/api/v1/health_check_controller.rb +7 -0
  3. data/app/controllers/api/v1/live_events_controller.rb +16 -0
  4. data/lib/canvas_sync.rb +20 -5
  5. data/lib/canvas_sync/generators/install_generator.rb +1 -1
  6. data/lib/canvas_sync/generators/install_live_events_generator.rb +38 -0
  7. data/lib/canvas_sync/generators/templates/{course.rb → models/course.rb} +0 -0
  8. data/lib/canvas_sync/generators/templates/{create_courses.rb → models/create_courses.rb} +0 -0
  9. data/lib/canvas_sync/generators/templates/{create_enrollments.rb → models/create_enrollments.rb} +0 -0
  10. data/lib/canvas_sync/generators/templates/models/create_roles.rb +17 -0
  11. data/lib/canvas_sync/generators/templates/{create_sections.rb → models/create_sections.rb} +0 -0
  12. data/lib/canvas_sync/generators/templates/{create_terms.rb → models/create_terms.rb} +0 -0
  13. data/lib/canvas_sync/generators/templates/{create_users.rb → models/create_users.rb} +0 -0
  14. data/lib/canvas_sync/generators/templates/{enrollment.rb → models/enrollment.rb} +0 -0
  15. data/lib/canvas_sync/generators/templates/models/role.rb +18 -0
  16. data/lib/canvas_sync/generators/templates/{section.rb → models/section.rb} +0 -0
  17. data/lib/canvas_sync/generators/templates/{term.rb → models/term.rb} +0 -0
  18. data/lib/canvas_sync/generators/templates/{user.rb → models/user.rb} +0 -0
  19. data/lib/canvas_sync/generators/templates/services/live_events/assignment/assignment_created_event.rb +5 -0
  20. data/lib/canvas_sync/generators/templates/services/live_events/assignment/assignment_event.rb +63 -0
  21. data/lib/canvas_sync/generators/templates/services/live_events/assignment/assignment_updated_event.rb +4 -0
  22. data/lib/canvas_sync/generators/templates/services/live_events/base_event.rb +23 -0
  23. data/lib/canvas_sync/generators/templates/services/live_events/course/course_created_event.rb +4 -0
  24. data/lib/canvas_sync/generators/templates/services/live_events/course/course_event.rb +42 -0
  25. data/lib/canvas_sync/generators/templates/services/live_events/course/course_updated_event.rb +4 -0
  26. data/lib/canvas_sync/generators/templates/services/live_events/enrollment/enrollment_created_event.rb +4 -0
  27. data/lib/canvas_sync/generators/templates/services/live_events/enrollment/enrollment_event.rb +58 -0
  28. data/lib/canvas_sync/generators/templates/services/live_events/enrollment/enrollment_updated_event.rb +4 -0
  29. data/lib/canvas_sync/generators/templates/services/live_events/grade/grade_changed_event.rb +4 -0
  30. data/lib/canvas_sync/generators/templates/services/live_events/grade/grade_event.rb +56 -0
  31. data/lib/canvas_sync/generators/templates/services/live_events/submission/submission_created_event.rb +4 -0
  32. data/lib/canvas_sync/generators/templates/services/live_events/submission/submission_event.rb +57 -0
  33. data/lib/canvas_sync/generators/templates/services/live_events/submission/submission_updated_event.rb +4 -0
  34. data/lib/canvas_sync/generators/templates/services/live_events/syllabus/syllabus_event.rb +35 -0
  35. data/lib/canvas_sync/generators/templates/services/live_events/syllabus/syllabus_updated_event.rb +2 -0
  36. data/lib/canvas_sync/generators/templates/services/live_events/user/user_created_event.rb +4 -0
  37. data/lib/canvas_sync/generators/templates/services/live_events/user/user_event.rb +35 -0
  38. data/lib/canvas_sync/generators/templates/services/live_events/user/user_updated_event.rb +4 -0
  39. data/lib/canvas_sync/importers/bulk_importer.rb +1 -1
  40. data/lib/canvas_sync/jobs/sync_roles_job.rb +18 -0
  41. data/lib/canvas_sync/version.rb +1 -1
  42. data/spec/canvas_sync/canvas_sync_spec.rb +28 -0
  43. data/spec/canvas_sync/jobs/sync_roles_job_spec.rb +16 -0
  44. data/spec/canvas_sync/models/roles_spec.rb +46 -0
  45. data/spec/dummy/app/models/role.rb +24 -0
  46. data/spec/dummy/config/database.yml +4 -4
  47. data/spec/dummy/db/migrate/20180103162102_create_roles.rb +23 -0
  48. data/spec/dummy/db/schema.rb +16 -1
  49. data/spec/factories/role_factory.rb +8 -0
  50. data/spec/support/fake_canvas.rb +4 -0
  51. data/spec/support/fixtures/canvas_responses/roles.json +748 -0
  52. metadata +52 -14
@@ -0,0 +1,8 @@
1
+ FactoryGirl.define do
2
+ factory :role do
3
+ label 'Cool Role'
4
+ base_role_type 'AccountMembership'
5
+ canvas_role_id { SecureRandom.random_number(100_000_000) }
6
+ workflow_state 'active'
7
+ end
8
+ end
@@ -8,6 +8,10 @@ class FakeCanvas < Sinatra::Base
8
8
  json_response 200, 'terms.json'
9
9
  end
10
10
 
11
+ get '/api/v1/accounts/self/roles' do
12
+ json_response 200, 'roles.json'
13
+ end
14
+
11
15
  get '/sample_report_download' do
12
16
  json_response 200, 'terms.json'
13
17
  end
@@ -0,0 +1,748 @@
1
+ [
2
+ {
3
+ "id": 1,
4
+ "role": "AccountAdmin",
5
+ "label": "Account Admin",
6
+ "base_role_type": "AccountMembership",
7
+ "workflow_state": "built_in",
8
+ "permissions": {
9
+ "manage_wiki": {
10
+ "enabled": true,
11
+ "locked": false,
12
+ "readonly": false,
13
+ "explicit": false,
14
+ "applies_to_descendants": true,
15
+ "applies_to_self": true
16
+ },
17
+ "read_forum": {
18
+ "enabled": true,
19
+ "locked": false,
20
+ "readonly": false,
21
+ "explicit": false,
22
+ "applies_to_descendants": true,
23
+ "applies_to_self": true
24
+ },
25
+ "post_to_forum": {
26
+ "enabled": true,
27
+ "locked": false,
28
+ "readonly": false,
29
+ "explicit": false,
30
+ "applies_to_descendants": true,
31
+ "applies_to_self": true
32
+ },
33
+ "moderate_forum": {
34
+ "enabled": true,
35
+ "locked": false,
36
+ "readonly": false,
37
+ "explicit": false,
38
+ "applies_to_descendants": true,
39
+ "applies_to_self": true
40
+ },
41
+ "read_announcements": {
42
+ "enabled": true,
43
+ "locked": false,
44
+ "readonly": false,
45
+ "explicit": false,
46
+ "applies_to_descendants": true,
47
+ "applies_to_self": true
48
+ },
49
+ "send_messages": {
50
+ "enabled": true,
51
+ "locked": false,
52
+ "readonly": false,
53
+ "explicit": false,
54
+ "applies_to_descendants": true,
55
+ "applies_to_self": true
56
+ },
57
+ "send_messages_all": {
58
+ "enabled": true,
59
+ "locked": false,
60
+ "readonly": false,
61
+ "explicit": false,
62
+ "applies_to_descendants": true,
63
+ "applies_to_self": true
64
+ },
65
+ "manage_outcomes": {
66
+ "enabled": true,
67
+ "locked": false,
68
+ "readonly": false,
69
+ "explicit": false,
70
+ "applies_to_descendants": true,
71
+ "applies_to_self": true
72
+ },
73
+ "create_conferences": {
74
+ "enabled": true,
75
+ "locked": false,
76
+ "readonly": false,
77
+ "explicit": false,
78
+ "applies_to_descendants": true,
79
+ "applies_to_self": true
80
+ },
81
+ "create_collaborations": {
82
+ "enabled": true,
83
+ "locked": false,
84
+ "readonly": false,
85
+ "explicit": false,
86
+ "applies_to_descendants": true,
87
+ "applies_to_self": true
88
+ },
89
+ "read_roster": {
90
+ "enabled": true,
91
+ "locked": false,
92
+ "readonly": false,
93
+ "explicit": false,
94
+ "applies_to_descendants": true,
95
+ "applies_to_self": true
96
+ },
97
+ "view_all_grades": {
98
+ "enabled": true,
99
+ "locked": false,
100
+ "readonly": false,
101
+ "explicit": false,
102
+ "applies_to_descendants": true,
103
+ "applies_to_self": true
104
+ },
105
+ "manage_grades": {
106
+ "enabled": true,
107
+ "locked": false,
108
+ "readonly": false,
109
+ "explicit": false,
110
+ "applies_to_descendants": true,
111
+ "applies_to_self": true
112
+ },
113
+ "manage_rubrics": {
114
+ "enabled": true,
115
+ "locked": false,
116
+ "readonly": false,
117
+ "explicit": false,
118
+ "applies_to_descendants": true,
119
+ "applies_to_self": true
120
+ },
121
+ "comment_on_others_submissions": {
122
+ "enabled": true,
123
+ "locked": false,
124
+ "readonly": false,
125
+ "explicit": false,
126
+ "applies_to_descendants": true,
127
+ "applies_to_self": true
128
+ },
129
+ "manage_students": {
130
+ "enabled": true,
131
+ "locked": false,
132
+ "readonly": false,
133
+ "explicit": false,
134
+ "applies_to_descendants": true,
135
+ "applies_to_self": true
136
+ },
137
+ "manage_admin_users": {
138
+ "enabled": true,
139
+ "locked": false,
140
+ "readonly": false,
141
+ "explicit": false,
142
+ "applies_to_descendants": true,
143
+ "applies_to_self": true
144
+ },
145
+ "manage_role_overrides": {
146
+ "enabled": true,
147
+ "locked": true,
148
+ "readonly": true,
149
+ "explicit": false,
150
+ "applies_to_descendants": true,
151
+ "applies_to_self": true
152
+ },
153
+ "manage_account_memberships": {
154
+ "enabled": true,
155
+ "locked": true,
156
+ "readonly": true,
157
+ "explicit": false,
158
+ "applies_to_descendants": true,
159
+ "applies_to_self": true
160
+ },
161
+ "manage_account_settings": {
162
+ "enabled": true,
163
+ "locked": true,
164
+ "readonly": true,
165
+ "explicit": false,
166
+ "applies_to_descendants": true,
167
+ "applies_to_self": true
168
+ },
169
+ "manage_groups": {
170
+ "enabled": true,
171
+ "locked": false,
172
+ "readonly": false,
173
+ "explicit": false,
174
+ "applies_to_descendants": true,
175
+ "applies_to_self": true
176
+ },
177
+ "view_group_pages": {
178
+ "enabled": true,
179
+ "locked": false,
180
+ "readonly": false,
181
+ "explicit": false,
182
+ "applies_to_descendants": true,
183
+ "applies_to_self": true
184
+ },
185
+ "manage_files": {
186
+ "enabled": true,
187
+ "locked": false,
188
+ "readonly": false,
189
+ "explicit": false,
190
+ "applies_to_descendants": true,
191
+ "applies_to_self": true
192
+ },
193
+ "manage_assignments": {
194
+ "enabled": true,
195
+ "locked": false,
196
+ "readonly": false,
197
+ "explicit": false,
198
+ "applies_to_descendants": true,
199
+ "applies_to_self": true
200
+ },
201
+ "undelete_courses": {
202
+ "enabled": true,
203
+ "locked": false,
204
+ "readonly": false,
205
+ "explicit": false,
206
+ "applies_to_descendants": true,
207
+ "applies_to_self": true
208
+ },
209
+ "view_grade_changes": {
210
+ "enabled": true,
211
+ "locked": false,
212
+ "readonly": false,
213
+ "explicit": false,
214
+ "applies_to_descendants": true,
215
+ "applies_to_self": true
216
+ },
217
+ "view_course_changes": {
218
+ "enabled": true,
219
+ "locked": false,
220
+ "readonly": false,
221
+ "explicit": false,
222
+ "applies_to_descendants": true,
223
+ "applies_to_self": true
224
+ },
225
+ "read_question_banks": {
226
+ "enabled": true,
227
+ "locked": false,
228
+ "readonly": false,
229
+ "explicit": false,
230
+ "applies_to_descendants": true,
231
+ "applies_to_self": true
232
+ },
233
+ "manage_calendar": {
234
+ "enabled": true,
235
+ "locked": false,
236
+ "readonly": false,
237
+ "explicit": false,
238
+ "applies_to_descendants": true,
239
+ "applies_to_self": true
240
+ },
241
+ "read_reports": {
242
+ "enabled": true,
243
+ "locked": false,
244
+ "readonly": false,
245
+ "explicit": false,
246
+ "applies_to_descendants": true,
247
+ "applies_to_self": true
248
+ },
249
+ "manage_courses": {
250
+ "enabled": true,
251
+ "locked": false,
252
+ "readonly": false,
253
+ "explicit": false,
254
+ "applies_to_descendants": true,
255
+ "applies_to_self": true
256
+ },
257
+ "manage_user_logins": {
258
+ "enabled": true,
259
+ "locked": false,
260
+ "readonly": false,
261
+ "explicit": false,
262
+ "applies_to_descendants": true,
263
+ "applies_to_self": true
264
+ },
265
+ "manage_user_observers": {
266
+ "enabled": true,
267
+ "locked": false,
268
+ "readonly": false,
269
+ "explicit": false,
270
+ "applies_to_descendants": true,
271
+ "applies_to_self": true
272
+ },
273
+ "manage_alerts": {
274
+ "enabled": true,
275
+ "locked": false,
276
+ "readonly": false,
277
+ "explicit": false,
278
+ "applies_to_descendants": true,
279
+ "applies_to_self": true
280
+ },
281
+ "become_user": {
282
+ "enabled": true,
283
+ "locked": false,
284
+ "readonly": false,
285
+ "explicit": false,
286
+ "applies_to_descendants": true,
287
+ "applies_to_self": true
288
+ },
289
+ "manage_developer_keys": {
290
+ "enabled": true,
291
+ "locked": false,
292
+ "readonly": false,
293
+ "explicit": false,
294
+ "applies_to_descendants": true,
295
+ "applies_to_self": true
296
+ },
297
+ "import_sis": {
298
+ "enabled": true,
299
+ "locked": false,
300
+ "readonly": false,
301
+ "explicit": false,
302
+ "applies_to_descendants": true,
303
+ "applies_to_self": true
304
+ },
305
+ "manage_sis": {
306
+ "enabled": true,
307
+ "locked": false,
308
+ "readonly": false,
309
+ "explicit": false,
310
+ "applies_to_descendants": true,
311
+ "applies_to_self": true
312
+ },
313
+ "read_sis": {
314
+ "enabled": true,
315
+ "locked": false,
316
+ "readonly": false,
317
+ "explicit": false,
318
+ "applies_to_descendants": true,
319
+ "applies_to_self": true
320
+ },
321
+ "read_course_list": {
322
+ "enabled": true,
323
+ "locked": false,
324
+ "readonly": false,
325
+ "explicit": false,
326
+ "applies_to_descendants": true,
327
+ "applies_to_self": true
328
+ },
329
+ "view_statistics": {
330
+ "enabled": true,
331
+ "locked": false,
332
+ "readonly": false,
333
+ "explicit": false,
334
+ "applies_to_descendants": true,
335
+ "applies_to_self": true
336
+ },
337
+ "manage_storage_quotas": {
338
+ "enabled": true,
339
+ "locked": false,
340
+ "readonly": false,
341
+ "explicit": false,
342
+ "applies_to_descendants": true,
343
+ "applies_to_self": true
344
+ },
345
+ "read_course_content": {
346
+ "enabled": true,
347
+ "locked": false,
348
+ "readonly": false,
349
+ "explicit": false,
350
+ "applies_to_descendants": true,
351
+ "applies_to_self": true
352
+ },
353
+ "manage_content": {
354
+ "enabled": true,
355
+ "locked": false,
356
+ "readonly": false,
357
+ "explicit": false,
358
+ "applies_to_descendants": true,
359
+ "applies_to_self": true
360
+ },
361
+ "manage_interaction_alerts": {
362
+ "enabled": true,
363
+ "locked": false,
364
+ "readonly": false,
365
+ "explicit": false,
366
+ "applies_to_descendants": true,
367
+ "applies_to_self": true
368
+ },
369
+ "change_course_state": {
370
+ "enabled": true,
371
+ "locked": false,
372
+ "readonly": false,
373
+ "explicit": false,
374
+ "applies_to_descendants": true,
375
+ "applies_to_self": true
376
+ },
377
+ "manage_sections": {
378
+ "enabled": true,
379
+ "locked": false,
380
+ "readonly": false,
381
+ "explicit": false,
382
+ "applies_to_descendants": true,
383
+ "applies_to_self": true
384
+ },
385
+ "manage_feature_flags": {
386
+ "enabled": true,
387
+ "locked": false,
388
+ "readonly": false,
389
+ "explicit": false,
390
+ "applies_to_descendants": true,
391
+ "applies_to_self": true
392
+ },
393
+ "view_quiz_answer_audits": {
394
+ "enabled": true,
395
+ "locked": false,
396
+ "readonly": false,
397
+ "explicit": false,
398
+ "applies_to_descendants": true,
399
+ "applies_to_self": true
400
+ },
401
+ "moderate_grades": {
402
+ "enabled": true,
403
+ "locked": false,
404
+ "readonly": false,
405
+ "explicit": false,
406
+ "applies_to_descendants": true,
407
+ "applies_to_self": true
408
+ },
409
+ "lti_add_edit": {
410
+ "enabled": true,
411
+ "locked": false,
412
+ "readonly": false,
413
+ "explicit": false,
414
+ "applies_to_descendants": true,
415
+ "applies_to_self": true
416
+ }
417
+ }
418
+ },
419
+ {
420
+ "id": 3,
421
+ "role": "StudentEnrollment",
422
+ "label": "Student",
423
+ "base_role_type": "StudentEnrollment",
424
+ "workflow_state": "built_in",
425
+ "permissions": {
426
+ "manage_wiki": {
427
+ "enabled": false,
428
+ "locked": true,
429
+ "readonly": true,
430
+ "explicit": false
431
+ },
432
+ "read_forum": {
433
+ "enabled": true,
434
+ "locked": false,
435
+ "readonly": false,
436
+ "explicit": false,
437
+ "applies_to_descendants": true,
438
+ "applies_to_self": true
439
+ },
440
+ "post_to_forum": {
441
+ "enabled": true,
442
+ "locked": false,
443
+ "readonly": false,
444
+ "explicit": false,
445
+ "applies_to_descendants": true,
446
+ "applies_to_self": true
447
+ },
448
+ "moderate_forum": {
449
+ "enabled": false,
450
+ "locked": false,
451
+ "readonly": false,
452
+ "explicit": false
453
+ },
454
+ "read_announcements": {
455
+ "enabled": true,
456
+ "locked": false,
457
+ "readonly": false,
458
+ "explicit": false,
459
+ "applies_to_descendants": true,
460
+ "applies_to_self": true
461
+ },
462
+ "send_messages": {
463
+ "enabled": true,
464
+ "locked": false,
465
+ "readonly": false,
466
+ "explicit": false,
467
+ "applies_to_descendants": true,
468
+ "applies_to_self": true
469
+ },
470
+ "send_messages_all": {
471
+ "enabled": false,
472
+ "locked": false,
473
+ "readonly": false,
474
+ "explicit": false
475
+ },
476
+ "manage_outcomes": {
477
+ "enabled": false,
478
+ "locked": false,
479
+ "readonly": false,
480
+ "explicit": false
481
+ },
482
+ "create_conferences": {
483
+ "enabled": true,
484
+ "locked": false,
485
+ "readonly": false,
486
+ "explicit": false,
487
+ "applies_to_descendants": true,
488
+ "applies_to_self": true
489
+ },
490
+ "create_collaborations": {
491
+ "enabled": true,
492
+ "locked": false,
493
+ "readonly": false,
494
+ "explicit": false,
495
+ "applies_to_descendants": true,
496
+ "applies_to_self": true
497
+ },
498
+ "read_roster": {
499
+ "enabled": true,
500
+ "locked": false,
501
+ "readonly": false,
502
+ "explicit": false,
503
+ "applies_to_descendants": true,
504
+ "applies_to_self": true
505
+ },
506
+ "view_all_grades": {
507
+ "enabled": false,
508
+ "locked": true,
509
+ "readonly": true,
510
+ "explicit": false
511
+ },
512
+ "manage_grades": {
513
+ "enabled": false,
514
+ "locked": true,
515
+ "readonly": true,
516
+ "explicit": false
517
+ },
518
+ "manage_rubrics": {
519
+ "enabled": false,
520
+ "locked": true,
521
+ "readonly": true,
522
+ "explicit": false
523
+ },
524
+ "comment_on_others_submissions": {
525
+ "enabled": false,
526
+ "locked": false,
527
+ "readonly": false,
528
+ "explicit": false
529
+ },
530
+ "manage_students": {
531
+ "enabled": false,
532
+ "locked": true,
533
+ "readonly": true,
534
+ "explicit": false
535
+ },
536
+ "manage_admin_users": {
537
+ "enabled": false,
538
+ "locked": true,
539
+ "readonly": true,
540
+ "explicit": false
541
+ },
542
+ "manage_role_overrides": {
543
+ "enabled": false,
544
+ "locked": true,
545
+ "readonly": true,
546
+ "explicit": false
547
+ },
548
+ "manage_account_memberships": {
549
+ "enabled": false,
550
+ "locked": true,
551
+ "readonly": true,
552
+ "explicit": false
553
+ },
554
+ "manage_account_settings": {
555
+ "enabled": false,
556
+ "locked": true,
557
+ "readonly": true,
558
+ "explicit": false
559
+ },
560
+ "manage_groups": {
561
+ "enabled": false,
562
+ "locked": true,
563
+ "readonly": true,
564
+ "explicit": false
565
+ },
566
+ "view_group_pages": {
567
+ "enabled": false,
568
+ "locked": false,
569
+ "readonly": false,
570
+ "explicit": false
571
+ },
572
+ "manage_files": {
573
+ "enabled": false,
574
+ "locked": true,
575
+ "readonly": true,
576
+ "explicit": false
577
+ },
578
+ "manage_assignments": {
579
+ "enabled": false,
580
+ "locked": true,
581
+ "readonly": true,
582
+ "explicit": false
583
+ },
584
+ "undelete_courses": {
585
+ "enabled": false,
586
+ "locked": true,
587
+ "readonly": true,
588
+ "explicit": false
589
+ },
590
+ "view_grade_changes": {
591
+ "enabled": false,
592
+ "locked": true,
593
+ "readonly": true,
594
+ "explicit": false
595
+ },
596
+ "view_course_changes": {
597
+ "enabled": false,
598
+ "locked": true,
599
+ "readonly": true,
600
+ "explicit": false
601
+ },
602
+ "read_question_banks": {
603
+ "enabled": false,
604
+ "locked": true,
605
+ "readonly": true,
606
+ "explicit": false
607
+ },
608
+ "manage_calendar": {
609
+ "enabled": false,
610
+ "locked": false,
611
+ "readonly": false,
612
+ "explicit": false
613
+ },
614
+ "read_reports": {
615
+ "enabled": false,
616
+ "locked": true,
617
+ "readonly": true,
618
+ "explicit": false
619
+ },
620
+ "manage_courses": {
621
+ "enabled": false,
622
+ "locked": true,
623
+ "readonly": true,
624
+ "explicit": false
625
+ },
626
+ "manage_user_logins": {
627
+ "enabled": false,
628
+ "locked": true,
629
+ "readonly": true,
630
+ "explicit": false
631
+ },
632
+ "manage_user_observers": {
633
+ "enabled": false,
634
+ "locked": true,
635
+ "readonly": true,
636
+ "explicit": false
637
+ },
638
+ "manage_alerts": {
639
+ "enabled": false,
640
+ "locked": true,
641
+ "readonly": true,
642
+ "explicit": false
643
+ },
644
+ "become_user": {
645
+ "enabled": false,
646
+ "locked": true,
647
+ "readonly": true,
648
+ "explicit": false
649
+ },
650
+ "manage_developer_keys": {
651
+ "enabled": false,
652
+ "locked": true,
653
+ "readonly": true,
654
+ "explicit": false
655
+ },
656
+ "import_sis": {
657
+ "enabled": false,
658
+ "locked": true,
659
+ "readonly": true,
660
+ "explicit": false
661
+ },
662
+ "manage_sis": {
663
+ "enabled": false,
664
+ "locked": true,
665
+ "readonly": true,
666
+ "explicit": false
667
+ },
668
+ "read_sis": {
669
+ "enabled": false,
670
+ "locked": false,
671
+ "readonly": false,
672
+ "explicit": false
673
+ },
674
+ "read_course_list": {
675
+ "enabled": false,
676
+ "locked": true,
677
+ "readonly": true,
678
+ "explicit": false
679
+ },
680
+ "view_statistics": {
681
+ "enabled": false,
682
+ "locked": true,
683
+ "readonly": true,
684
+ "explicit": false
685
+ },
686
+ "manage_storage_quotas": {
687
+ "enabled": false,
688
+ "locked": true,
689
+ "readonly": true,
690
+ "explicit": false
691
+ },
692
+ "read_course_content": {
693
+ "enabled": false,
694
+ "locked": true,
695
+ "readonly": true,
696
+ "explicit": false
697
+ },
698
+ "manage_content": {
699
+ "enabled": false,
700
+ "locked": true,
701
+ "readonly": true,
702
+ "explicit": false
703
+ },
704
+ "manage_interaction_alerts": {
705
+ "enabled": false,
706
+ "locked": true,
707
+ "readonly": true,
708
+ "explicit": false
709
+ },
710
+ "change_course_state": {
711
+ "enabled": false,
712
+ "locked": true,
713
+ "readonly": true,
714
+ "explicit": false
715
+ },
716
+ "manage_sections": {
717
+ "enabled": false,
718
+ "locked": true,
719
+ "readonly": true,
720
+ "explicit": false
721
+ },
722
+ "manage_feature_flags": {
723
+ "enabled": false,
724
+ "locked": true,
725
+ "readonly": true,
726
+ "explicit": false
727
+ },
728
+ "view_quiz_answer_audits": {
729
+ "enabled": false,
730
+ "locked": true,
731
+ "readonly": true,
732
+ "explicit": false
733
+ },
734
+ "moderate_grades": {
735
+ "enabled": false,
736
+ "locked": true,
737
+ "readonly": true,
738
+ "explicit": false
739
+ },
740
+ "lti_add_edit": {
741
+ "enabled": false,
742
+ "locked": true,
743
+ "readonly": true,
744
+ "explicit": false
745
+ }
746
+ }
747
+ }
748
+ ]