pandarus 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/pandarus/models.rb +4 -0
- data/lib/pandarus/models/course.rb +15 -2
- data/lib/pandarus/models/feature.rb +25 -0
- data/lib/pandarus/models/feature_flag.rb +22 -0
- data/lib/pandarus/models/grade_change_event.rb +24 -0
- data/lib/pandarus/models/group_membership.rb +3 -2
- data/lib/pandarus/models/page_revision.rb +2 -1
- data/lib/pandarus/models/quiz.rb +3 -1
- data/lib/pandarus/models/quiz_question.rb +27 -0
- data/lib/pandarus/v1_api.rb +1028 -143
- data/lib/pandarus/version.rb +1 -1
- metadata +6 -2
data/lib/pandarus/models.rb
CHANGED
@@ -27,6 +27,8 @@ require 'pandarus/models/submission_history'
|
|
27
27
|
require 'pandarus/models/course'
|
28
28
|
require 'pandarus/models/migration_issue'
|
29
29
|
require 'pandarus/models/grader'
|
30
|
+
require 'pandarus/models/feature_flag'
|
31
|
+
require 'pandarus/models/grade_change_event'
|
30
32
|
require 'pandarus/models/favorite'
|
31
33
|
require 'pandarus/models/user'
|
32
34
|
require 'pandarus/models/outcome_link'
|
@@ -35,7 +37,9 @@ require 'pandarus/models/assignment'
|
|
35
37
|
require 'pandarus/models/module_item'
|
36
38
|
require 'pandarus/models/outcome'
|
37
39
|
require 'pandarus/models/external_feed'
|
40
|
+
require 'pandarus/models/feature'
|
38
41
|
require 'pandarus/models/communication_channel'
|
42
|
+
require 'pandarus/models/quiz_question'
|
39
43
|
require 'pandarus/models/progress'
|
40
44
|
require 'pandarus/models/module'
|
41
45
|
require 'pandarus/models/page_revision'
|
@@ -3,7 +3,7 @@ require "pandarus/model_base"
|
|
3
3
|
# This is an autogenerated file. See readme.md.
|
4
4
|
module Pandarus
|
5
5
|
class Course < ModelBase
|
6
|
-
attr_accessor :id, :sis_course_id, :name, :course_code, :workflow_state, :account_id, :start_at, :end_at, :enrollments, :calendar, :default_view, :syllabus_body, :needs_grading_count, :term, :apply_assignment_group_weights, :permissions
|
6
|
+
attr_accessor :id, :sis_course_id, :name, :course_code, :workflow_state, :account_id, :root_account_id, :start_at, :end_at, :enrollments, :calendar, :default_view, :syllabus_body, :needs_grading_count, :term, :apply_assignment_group_weights, :permissions, :is_public, :public_syllabus, :public_description, :storage_quota_mb, :hide_final_grades, :license, :allow_student_assignment_edits, :allow_wiki_comments, :allow_student_forum_attachments, :open_enrollment, :self_enrollment, :restrict_enrollments_to_course_dates
|
7
7
|
|
8
8
|
|
9
9
|
def self.attribute_map
|
@@ -14,6 +14,7 @@ module Pandarus
|
|
14
14
|
:course_code => {:external => "course_code", :container => false, :type => nil},
|
15
15
|
:workflow_state => {:external => "workflow_state", :container => false, :type => nil},
|
16
16
|
:account_id => {:external => "account_id", :container => false, :type => nil},
|
17
|
+
:root_account_id => {:external => "root_account_id", :container => false, :type => nil},
|
17
18
|
:start_at => {:external => "start_at", :container => false, :type => nil},
|
18
19
|
:end_at => {:external => "end_at", :container => false, :type => nil},
|
19
20
|
:enrollments => {:external => "enrollments", :container => false, :type => nil},
|
@@ -23,7 +24,19 @@ module Pandarus
|
|
23
24
|
:needs_grading_count => {:external => "needs_grading_count", :container => false, :type => nil},
|
24
25
|
:term => {:external => "term", :container => false, :type => nil},
|
25
26
|
:apply_assignment_group_weights => {:external => "apply_assignment_group_weights", :container => false, :type => nil},
|
26
|
-
:permissions => {:external => "permissions", :container => false, :type => nil}
|
27
|
+
:permissions => {:external => "permissions", :container => false, :type => nil},
|
28
|
+
:is_public => {:external => "is_public", :container => false, :type => nil},
|
29
|
+
:public_syllabus => {:external => "public_syllabus", :container => false, :type => nil},
|
30
|
+
:public_description => {:external => "public_description", :container => false, :type => nil},
|
31
|
+
:storage_quota_mb => {:external => "storage_quota_mb", :container => false, :type => nil},
|
32
|
+
:hide_final_grades => {:external => "hide_final_grades", :container => false, :type => nil},
|
33
|
+
:license => {:external => "license", :container => false, :type => nil},
|
34
|
+
:allow_student_assignment_edits => {:external => "allow_student_assignment_edits", :container => false, :type => nil},
|
35
|
+
:allow_wiki_comments => {:external => "allow_wiki_comments", :container => false, :type => nil},
|
36
|
+
:allow_student_forum_attachments => {:external => "allow_student_forum_attachments", :container => false, :type => nil},
|
37
|
+
:open_enrollment => {:external => "open_enrollment", :container => false, :type => nil},
|
38
|
+
:self_enrollment => {:external => "self_enrollment", :container => false, :type => nil},
|
39
|
+
:restrict_enrollments_to_course_dates => {:external => "restrict_enrollments_to_course_dates", :container => false, :type => nil}
|
27
40
|
|
28
41
|
}
|
29
42
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require "pandarus/model_base"
|
2
|
+
|
3
|
+
# This is an autogenerated file. See readme.md.
|
4
|
+
module Pandarus
|
5
|
+
class Feature < ModelBase
|
6
|
+
attr_accessor :name, :display_name, :applies_to, :enable_at, :feature_flag, :root_opt_in, :beta, :development, :release_notes_url
|
7
|
+
|
8
|
+
|
9
|
+
def self.attribute_map
|
10
|
+
{
|
11
|
+
:name => {:external => "name", :container => false, :type => nil},
|
12
|
+
:display_name => {:external => "display_name", :container => false, :type => nil},
|
13
|
+
:applies_to => {:external => "applies_to", :container => false, :type => nil},
|
14
|
+
:enable_at => {:external => "enable_at", :container => false, :type => "Date"},
|
15
|
+
:feature_flag => {:external => "feature_flag", :container => false, :type => nil},
|
16
|
+
:root_opt_in => {:external => "root_opt_in", :container => false, :type => nil},
|
17
|
+
:beta => {:external => "beta", :container => false, :type => nil},
|
18
|
+
:development => {:external => "development", :container => false, :type => nil},
|
19
|
+
:release_notes_url => {:external => "release_notes_url", :container => false, :type => nil}
|
20
|
+
|
21
|
+
}
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require "pandarus/model_base"
|
2
|
+
|
3
|
+
# This is an autogenerated file. See readme.md.
|
4
|
+
module Pandarus
|
5
|
+
class FeatureFlag < ModelBase
|
6
|
+
attr_accessor :context_type, :context_id, :feature, :state, :locked, :locking_account_id
|
7
|
+
|
8
|
+
|
9
|
+
def self.attribute_map
|
10
|
+
{
|
11
|
+
:context_type => {:external => "context_type", :container => false, :type => nil},
|
12
|
+
:context_id => {:external => "context_id", :container => false, :type => nil},
|
13
|
+
:feature => {:external => "feature", :container => false, :type => nil},
|
14
|
+
:state => {:external => "state", :container => false, :type => nil},
|
15
|
+
:locked => {:external => "locked", :container => false, :type => nil},
|
16
|
+
:locking_account_id => {:external => "locking_account_id", :container => false, :type => nil}
|
17
|
+
|
18
|
+
}
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require "pandarus/model_base"
|
2
|
+
|
3
|
+
# This is an autogenerated file. See readme.md.
|
4
|
+
module Pandarus
|
5
|
+
class GradeChangeEvent < ModelBase
|
6
|
+
attr_accessor :id, :created_at, :event_type, :grade_after, :grade_before, :version_number, :request_id, :links
|
7
|
+
|
8
|
+
|
9
|
+
def self.attribute_map
|
10
|
+
{
|
11
|
+
:id => {:external => "id", :container => false, :type => nil},
|
12
|
+
:created_at => {:external => "created_at", :container => false, :type => nil},
|
13
|
+
:event_type => {:external => "event_type", :container => false, :type => nil},
|
14
|
+
:grade_after => {:external => "grade_after", :container => false, :type => nil},
|
15
|
+
:grade_before => {:external => "grade_before", :container => false, :type => nil},
|
16
|
+
:version_number => {:external => "version_number", :container => false, :type => nil},
|
17
|
+
:request_id => {:external => "request_id", :container => false, :type => nil},
|
18
|
+
:links => {:external => "links", :container => false, :type => nil}
|
19
|
+
|
20
|
+
}
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
@@ -3,7 +3,7 @@ require "pandarus/model_base"
|
|
3
3
|
# This is an autogenerated file. See readme.md.
|
4
4
|
module Pandarus
|
5
5
|
class GroupMembership < ModelBase
|
6
|
-
attr_accessor :id, :group_id, :user_id, :workflow_state, :moderator
|
6
|
+
attr_accessor :id, :group_id, :user_id, :workflow_state, :moderator, :just_created
|
7
7
|
|
8
8
|
|
9
9
|
def self.attribute_map
|
@@ -12,7 +12,8 @@ module Pandarus
|
|
12
12
|
:group_id => {:external => "group_id", :container => false, :type => nil},
|
13
13
|
:user_id => {:external => "user_id", :container => false, :type => nil},
|
14
14
|
:workflow_state => {:external => "workflow_state", :container => false, :type => nil},
|
15
|
-
:moderator => {:external => "moderator", :container => false, :type => nil}
|
15
|
+
:moderator => {:external => "moderator", :container => false, :type => nil},
|
16
|
+
:just_created => {:external => "just_created", :container => false, :type => nil}
|
16
17
|
|
17
18
|
}
|
18
19
|
end
|
@@ -3,13 +3,14 @@ require "pandarus/model_base"
|
|
3
3
|
# This is an autogenerated file. See readme.md.
|
4
4
|
module Pandarus
|
5
5
|
class PageRevision < ModelBase
|
6
|
-
attr_accessor :revision_id, :updated_at, :edited_by, :url, :title, :body
|
6
|
+
attr_accessor :revision_id, :updated_at, :latest, :edited_by, :url, :title, :body
|
7
7
|
|
8
8
|
|
9
9
|
def self.attribute_map
|
10
10
|
{
|
11
11
|
:revision_id => {:external => "revision_id", :container => false, :type => nil},
|
12
12
|
:updated_at => {:external => "updated_at", :container => false, :type => nil},
|
13
|
+
:latest => {:external => "latest", :container => false, :type => nil},
|
13
14
|
:edited_by => {:external => "edited_by", :container => false, :type => nil},
|
14
15
|
:url => {:external => "url", :container => false, :type => nil},
|
15
16
|
:title => {:external => "title", :container => false, :type => nil},
|
data/lib/pandarus/models/quiz.rb
CHANGED
@@ -3,7 +3,7 @@ require "pandarus/model_base"
|
|
3
3
|
# This is an autogenerated file. See readme.md.
|
4
4
|
module Pandarus
|
5
5
|
class Quiz < ModelBase
|
6
|
-
attr_accessor :id, :title, :html_url, :mobile_url, :description, :quiz_type, :assignment_group_id, :time_limit, :shuffle_answers, :hide_results, :show_correct_answers, :scoring_policy, :allowed_attempts, :one_question_at_a_time, :question_count, :points_possible, :cant_go_back, :access_code, :ip_filter, :due_at, :lock_at, :unlock_at, :published, :unpublishable, :locked_for_user, :lock_info, :lock_explanation
|
6
|
+
attr_accessor :id, :title, :html_url, :mobile_url, :description, :quiz_type, :assignment_group_id, :time_limit, :shuffle_answers, :hide_results, :show_correct_answers, :show_correct_answers_at, :hide_correct_answers_at, :scoring_policy, :allowed_attempts, :one_question_at_a_time, :question_count, :points_possible, :cant_go_back, :access_code, :ip_filter, :due_at, :lock_at, :unlock_at, :published, :unpublishable, :locked_for_user, :lock_info, :lock_explanation
|
7
7
|
|
8
8
|
|
9
9
|
def self.attribute_map
|
@@ -19,6 +19,8 @@ module Pandarus
|
|
19
19
|
:shuffle_answers => {:external => "shuffle_answers", :container => false, :type => nil},
|
20
20
|
:hide_results => {:external => "hide_results", :container => false, :type => nil},
|
21
21
|
:show_correct_answers => {:external => "show_correct_answers", :container => false, :type => nil},
|
22
|
+
:show_correct_answers_at => {:external => "show_correct_answers_at", :container => false, :type => nil},
|
23
|
+
:hide_correct_answers_at => {:external => "hide_correct_answers_at", :container => false, :type => nil},
|
22
24
|
:scoring_policy => {:external => "scoring_policy", :container => false, :type => nil},
|
23
25
|
:allowed_attempts => {:external => "allowed_attempts", :container => false, :type => nil},
|
24
26
|
:one_question_at_a_time => {:external => "one_question_at_a_time", :container => false, :type => nil},
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require "pandarus/model_base"
|
2
|
+
|
3
|
+
# This is an autogenerated file. See readme.md.
|
4
|
+
module Pandarus
|
5
|
+
class QuizQuestion < ModelBase
|
6
|
+
attr_accessor :id, :quiz_id, :position, :question_name, :question_type, :question_text, :points_possible, :correct_comments, :incorrect_comments, :neutral_comments, :answers
|
7
|
+
|
8
|
+
|
9
|
+
def self.attribute_map
|
10
|
+
{
|
11
|
+
:id => {:external => "id", :container => false, :type => nil},
|
12
|
+
:quiz_id => {:external => "quiz_id", :container => false, :type => nil},
|
13
|
+
:position => {:external => "position", :container => false, :type => nil},
|
14
|
+
:question_name => {:external => "question_name", :container => false, :type => nil},
|
15
|
+
:question_type => {:external => "question_type", :container => false, :type => nil},
|
16
|
+
:question_text => {:external => "question_text", :container => false, :type => nil},
|
17
|
+
:points_possible => {:external => "points_possible", :container => false, :type => nil},
|
18
|
+
:correct_comments => {:external => "correct_comments", :container => false, :type => nil},
|
19
|
+
:incorrect_comments => {:external => "incorrect_comments", :container => false, :type => nil},
|
20
|
+
:neutral_comments => {:external => "neutral_comments", :container => false, :type => nil},
|
21
|
+
:answers => {:external => "answers", :container => true, :type => "Enrollment"}
|
22
|
+
|
23
|
+
}
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
data/lib/pandarus/v1_api.rb
CHANGED
@@ -443,7 +443,8 @@ module Pandarus
|
|
443
443
|
|
444
444
|
# set default values and merge with input
|
445
445
|
options = underscored_merge_opts(opts,
|
446
|
-
|
446
|
+
{}
|
447
|
+
|
447
448
|
)
|
448
449
|
|
449
450
|
# resource path
|
@@ -700,6 +701,42 @@ module Pandarus
|
|
700
701
|
response
|
701
702
|
|
702
703
|
end
|
704
|
+
def create_new_sub_account(account_id,account__name__,opts={})
|
705
|
+
query_param_keys = [
|
706
|
+
|
707
|
+
]
|
708
|
+
|
709
|
+
form_param_keys = [
|
710
|
+
:account__name__,
|
711
|
+
:account__default_storage_quota_mb__,
|
712
|
+
:account__default_user_storage_quota_mb__,
|
713
|
+
:account__default_group_storage_quota_mb__,
|
714
|
+
|
715
|
+
]
|
716
|
+
|
717
|
+
# verify existence of params
|
718
|
+
raise "account_id is required" if account_id.nil?
|
719
|
+
raise "account__name__ is required" if account__name__.nil?
|
720
|
+
# set default values and merge with input
|
721
|
+
options = underscored_merge_opts(opts,
|
722
|
+
:account_id => account_id,
|
723
|
+
:account__name__ => account__name__
|
724
|
+
)
|
725
|
+
|
726
|
+
# resource path
|
727
|
+
path = path_replace("/v1/accounts/{account_id}/sub_accounts",
|
728
|
+
:account_id => account_id)
|
729
|
+
headers = nil
|
730
|
+
form_params = select_params(options, form_param_keys)
|
731
|
+
query_params = select_params(options, query_param_keys)
|
732
|
+
if opts[:next_page]
|
733
|
+
pagination_params = page_params_load(:post, path)
|
734
|
+
query_params.merge! pagination_params if pagination_params
|
735
|
+
end
|
736
|
+
response = mixed_request(:post, path, query_params, form_params, headers)
|
737
|
+
page_params_store(:post, path)
|
738
|
+
response.map {|response|Account.new(response)}
|
739
|
+
end
|
703
740
|
def make_account_admin(account_id,user_id,opts={})
|
704
741
|
query_param_keys = [
|
705
742
|
|
@@ -1202,7 +1239,8 @@ module Pandarus
|
|
1202
1239
|
|
1203
1240
|
# set default values and merge with input
|
1204
1241
|
options = underscored_merge_opts(opts,
|
1205
|
-
|
1242
|
+
{}
|
1243
|
+
|
1206
1244
|
)
|
1207
1245
|
|
1208
1246
|
# resource path
|
@@ -2179,7 +2217,8 @@ module Pandarus
|
|
2179
2217
|
|
2180
2218
|
# set default values and merge with input
|
2181
2219
|
options = underscored_merge_opts(opts,
|
2182
|
-
|
2220
|
+
{}
|
2221
|
+
|
2183
2222
|
)
|
2184
2223
|
|
2185
2224
|
# resource path
|
@@ -2449,7 +2488,8 @@ module Pandarus
|
|
2449
2488
|
|
2450
2489
|
# set default values and merge with input
|
2451
2490
|
options = underscored_merge_opts(opts,
|
2452
|
-
|
2491
|
+
{}
|
2492
|
+
|
2453
2493
|
)
|
2454
2494
|
|
2455
2495
|
# resource path
|
@@ -3194,7 +3234,7 @@ module Pandarus
|
|
3194
3234
|
page_params_store(:get, path)
|
3195
3235
|
ContentMigration.new(response)
|
3196
3236
|
end
|
3197
|
-
def create_content_migration(course_id,migration_type,pre_attachment__name__,opts={})
|
3237
|
+
def create_content_migration(course_id,migration_type,pre_attachment__name__,settings__file_url__,opts={})
|
3198
3238
|
query_param_keys = [
|
3199
3239
|
|
3200
3240
|
]
|
@@ -3203,6 +3243,7 @@ module Pandarus
|
|
3203
3243
|
:migration_type,
|
3204
3244
|
:pre_attachment__name__,
|
3205
3245
|
:pre_attachment__x__,
|
3246
|
+
:settings__file_url__,
|
3206
3247
|
:settings__source_course_id__,
|
3207
3248
|
:settings__folder_id__,
|
3208
3249
|
:settings__overwrite_quizzes__,
|
@@ -3221,11 +3262,13 @@ module Pandarus
|
|
3221
3262
|
raise "course_id is required" if course_id.nil?
|
3222
3263
|
raise "migration_type is required" if migration_type.nil?
|
3223
3264
|
raise "pre_attachment__name__ is required" if pre_attachment__name__.nil?
|
3265
|
+
raise "settings__file_url__ is required" if settings__file_url__.nil?
|
3224
3266
|
# set default values and merge with input
|
3225
3267
|
options = underscored_merge_opts(opts,
|
3226
3268
|
:course_id => course_id,
|
3227
3269
|
:migration_type => migration_type,
|
3228
|
-
:pre_attachment__name__ => pre_attachment__name__
|
3270
|
+
:pre_attachment__name__ => pre_attachment__name__,
|
3271
|
+
:settings__file_url__ => settings__file_url__
|
3229
3272
|
)
|
3230
3273
|
|
3231
3274
|
# resource path
|
@@ -3408,7 +3451,8 @@ module Pandarus
|
|
3408
3451
|
|
3409
3452
|
# set default values and merge with input
|
3410
3453
|
options = underscored_merge_opts(opts,
|
3411
|
-
|
3454
|
+
{}
|
3455
|
+
|
3412
3456
|
)
|
3413
3457
|
|
3414
3458
|
# resource path
|
@@ -3522,7 +3566,8 @@ module Pandarus
|
|
3522
3566
|
|
3523
3567
|
# set default values and merge with input
|
3524
3568
|
options = underscored_merge_opts(opts,
|
3525
|
-
|
3569
|
+
{}
|
3570
|
+
|
3526
3571
|
)
|
3527
3572
|
|
3528
3573
|
# resource path
|
@@ -3729,7 +3774,8 @@ module Pandarus
|
|
3729
3774
|
|
3730
3775
|
# set default values and merge with input
|
3731
3776
|
options = underscored_merge_opts(opts,
|
3732
|
-
|
3777
|
+
{}
|
3778
|
+
|
3733
3779
|
)
|
3734
3780
|
|
3735
3781
|
# resource path
|
@@ -3758,7 +3804,8 @@ module Pandarus
|
|
3758
3804
|
|
3759
3805
|
# set default values and merge with input
|
3760
3806
|
options = underscored_merge_opts(opts,
|
3761
|
-
|
3807
|
+
{}
|
3808
|
+
|
3762
3809
|
)
|
3763
3810
|
|
3764
3811
|
# resource path
|
@@ -5566,7 +5613,8 @@ module Pandarus
|
|
5566
5613
|
|
5567
5614
|
# set default values and merge with input
|
5568
5615
|
options = underscored_merge_opts(opts,
|
5569
|
-
|
5616
|
+
{}
|
5617
|
+
|
5570
5618
|
)
|
5571
5619
|
|
5572
5620
|
# resource path
|
@@ -5654,7 +5702,8 @@ module Pandarus
|
|
5654
5702
|
|
5655
5703
|
# set default values and merge with input
|
5656
5704
|
options = underscored_merge_opts(opts,
|
5657
|
-
|
5705
|
+
{}
|
5706
|
+
|
5658
5707
|
)
|
5659
5708
|
|
5660
5709
|
# resource path
|
@@ -5672,6 +5721,168 @@ module Pandarus
|
|
5672
5721
|
response
|
5673
5722
|
|
5674
5723
|
end
|
5724
|
+
def list_features(user_id,opts={})
|
5725
|
+
query_param_keys = [
|
5726
|
+
|
5727
|
+
]
|
5728
|
+
|
5729
|
+
form_param_keys = [
|
5730
|
+
|
5731
|
+
]
|
5732
|
+
|
5733
|
+
# verify existence of params
|
5734
|
+
raise "user_id is required" if user_id.nil?
|
5735
|
+
# set default values and merge with input
|
5736
|
+
options = underscored_merge_opts(opts,
|
5737
|
+
:user_id => user_id
|
5738
|
+
)
|
5739
|
+
|
5740
|
+
# resource path
|
5741
|
+
path = path_replace("/v1/users/{user_id}/features",
|
5742
|
+
:user_id => user_id)
|
5743
|
+
headers = nil
|
5744
|
+
form_params = select_params(options, form_param_keys)
|
5745
|
+
query_params = select_params(options, query_param_keys)
|
5746
|
+
if opts[:next_page]
|
5747
|
+
pagination_params = page_params_load(:get, path)
|
5748
|
+
query_params.merge! pagination_params if pagination_params
|
5749
|
+
end
|
5750
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
5751
|
+
page_params_store(:get, path)
|
5752
|
+
response.map {|response|Feature.new(response)}
|
5753
|
+
end
|
5754
|
+
def list_enabled_features(user_id,opts={})
|
5755
|
+
query_param_keys = [
|
5756
|
+
|
5757
|
+
]
|
5758
|
+
|
5759
|
+
form_param_keys = [
|
5760
|
+
|
5761
|
+
]
|
5762
|
+
|
5763
|
+
# verify existence of params
|
5764
|
+
raise "user_id is required" if user_id.nil?
|
5765
|
+
# set default values and merge with input
|
5766
|
+
options = underscored_merge_opts(opts,
|
5767
|
+
:user_id => user_id
|
5768
|
+
)
|
5769
|
+
|
5770
|
+
# resource path
|
5771
|
+
path = path_replace("/v1/users/{user_id}/features/enabled",
|
5772
|
+
:user_id => user_id)
|
5773
|
+
headers = nil
|
5774
|
+
form_params = select_params(options, form_param_keys)
|
5775
|
+
query_params = select_params(options, query_param_keys)
|
5776
|
+
if opts[:next_page]
|
5777
|
+
pagination_params = page_params_load(:get, path)
|
5778
|
+
query_params.merge! pagination_params if pagination_params
|
5779
|
+
end
|
5780
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
5781
|
+
page_params_store(:get, path)
|
5782
|
+
response
|
5783
|
+
|
5784
|
+
end
|
5785
|
+
def get_feature_flag(user_id,feature,opts={})
|
5786
|
+
query_param_keys = [
|
5787
|
+
|
5788
|
+
]
|
5789
|
+
|
5790
|
+
form_param_keys = [
|
5791
|
+
|
5792
|
+
]
|
5793
|
+
|
5794
|
+
# verify existence of params
|
5795
|
+
raise "user_id is required" if user_id.nil?
|
5796
|
+
raise "feature is required" if feature.nil?
|
5797
|
+
# set default values and merge with input
|
5798
|
+
options = underscored_merge_opts(opts,
|
5799
|
+
:user_id => user_id,
|
5800
|
+
:feature => feature
|
5801
|
+
)
|
5802
|
+
|
5803
|
+
# resource path
|
5804
|
+
path = path_replace("/v1/users/{user_id}/features/flags/{feature}",
|
5805
|
+
:user_id => user_id,
|
5806
|
+
:feature => feature)
|
5807
|
+
headers = nil
|
5808
|
+
form_params = select_params(options, form_param_keys)
|
5809
|
+
query_params = select_params(options, query_param_keys)
|
5810
|
+
if opts[:next_page]
|
5811
|
+
pagination_params = page_params_load(:get, path)
|
5812
|
+
query_params.merge! pagination_params if pagination_params
|
5813
|
+
end
|
5814
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
5815
|
+
page_params_store(:get, path)
|
5816
|
+
FeatureFlag.new(response)
|
5817
|
+
end
|
5818
|
+
def set_feature_flag(user_id,feature,opts={})
|
5819
|
+
query_param_keys = [
|
5820
|
+
|
5821
|
+
]
|
5822
|
+
|
5823
|
+
form_param_keys = [
|
5824
|
+
:state,
|
5825
|
+
:locking_account_id,
|
5826
|
+
|
5827
|
+
]
|
5828
|
+
|
5829
|
+
# verify existence of params
|
5830
|
+
raise "user_id is required" if user_id.nil?
|
5831
|
+
raise "feature is required" if feature.nil?
|
5832
|
+
# set default values and merge with input
|
5833
|
+
options = underscored_merge_opts(opts,
|
5834
|
+
:user_id => user_id,
|
5835
|
+
:feature => feature
|
5836
|
+
)
|
5837
|
+
|
5838
|
+
# resource path
|
5839
|
+
path = path_replace("/v1/users/{user_id}/features/flags/{feature}",
|
5840
|
+
:user_id => user_id,
|
5841
|
+
:feature => feature)
|
5842
|
+
headers = nil
|
5843
|
+
form_params = select_params(options, form_param_keys)
|
5844
|
+
query_params = select_params(options, query_param_keys)
|
5845
|
+
if opts[:next_page]
|
5846
|
+
pagination_params = page_params_load(:put, path)
|
5847
|
+
query_params.merge! pagination_params if pagination_params
|
5848
|
+
end
|
5849
|
+
response = mixed_request(:put, path, query_params, form_params, headers)
|
5850
|
+
page_params_store(:put, path)
|
5851
|
+
FeatureFlag.new(response)
|
5852
|
+
end
|
5853
|
+
def remove_feature_flag(user_id,feature,opts={})
|
5854
|
+
query_param_keys = [
|
5855
|
+
|
5856
|
+
]
|
5857
|
+
|
5858
|
+
form_param_keys = [
|
5859
|
+
|
5860
|
+
]
|
5861
|
+
|
5862
|
+
# verify existence of params
|
5863
|
+
raise "user_id is required" if user_id.nil?
|
5864
|
+
raise "feature is required" if feature.nil?
|
5865
|
+
# set default values and merge with input
|
5866
|
+
options = underscored_merge_opts(opts,
|
5867
|
+
:user_id => user_id,
|
5868
|
+
:feature => feature
|
5869
|
+
)
|
5870
|
+
|
5871
|
+
# resource path
|
5872
|
+
path = path_replace("/v1/users/{user_id}/features/flags/{feature}",
|
5873
|
+
:user_id => user_id,
|
5874
|
+
:feature => feature)
|
5875
|
+
headers = nil
|
5876
|
+
form_params = select_params(options, form_param_keys)
|
5877
|
+
query_params = select_params(options, query_param_keys)
|
5878
|
+
if opts[:next_page]
|
5879
|
+
pagination_params = page_params_load(:delete, path)
|
5880
|
+
query_params.merge! pagination_params if pagination_params
|
5881
|
+
end
|
5882
|
+
response = mixed_request(:delete, path, query_params, form_params, headers)
|
5883
|
+
page_params_store(:delete, path)
|
5884
|
+
FeatureFlag.new(response)
|
5885
|
+
end
|
5675
5886
|
def list_files(id,opts={})
|
5676
5887
|
query_param_keys = [
|
5677
5888
|
:content_types,
|
@@ -6041,9 +6252,10 @@ module Pandarus
|
|
6041
6252
|
response
|
6042
6253
|
|
6043
6254
|
end
|
6044
|
-
def
|
6255
|
+
def query_by_assignment(assignment_id,opts={})
|
6045
6256
|
query_param_keys = [
|
6046
|
-
|
6257
|
+
:start_time,
|
6258
|
+
:end_time
|
6047
6259
|
]
|
6048
6260
|
|
6049
6261
|
form_param_keys = [
|
@@ -6051,15 +6263,15 @@ module Pandarus
|
|
6051
6263
|
]
|
6052
6264
|
|
6053
6265
|
# verify existence of params
|
6054
|
-
raise "
|
6266
|
+
raise "assignment_id is required" if assignment_id.nil?
|
6055
6267
|
# set default values and merge with input
|
6056
6268
|
options = underscored_merge_opts(opts,
|
6057
|
-
:
|
6269
|
+
:assignment_id => assignment_id
|
6058
6270
|
)
|
6059
6271
|
|
6060
6272
|
# resource path
|
6061
|
-
path = path_replace("/v1/
|
6062
|
-
:
|
6273
|
+
path = path_replace("/v1/audit/grade_change/assignments/{assignment_id}",
|
6274
|
+
:assignment_id => assignment_id)
|
6063
6275
|
headers = nil
|
6064
6276
|
form_params = select_params(options, form_param_keys)
|
6065
6277
|
query_params = select_params(options, query_param_keys)
|
@@ -6069,11 +6281,12 @@ module Pandarus
|
|
6069
6281
|
end
|
6070
6282
|
response = mixed_request(:get, path, query_params, form_params, headers)
|
6071
6283
|
page_params_store(:get, path)
|
6072
|
-
response.map {|response|
|
6284
|
+
response.map {|response|GradeChangeEvent.new(response)}
|
6073
6285
|
end
|
6074
|
-
def
|
6286
|
+
def query_by_course(course_id,opts={})
|
6075
6287
|
query_param_keys = [
|
6076
|
-
|
6288
|
+
:start_time,
|
6289
|
+
:end_time
|
6077
6290
|
]
|
6078
6291
|
|
6079
6292
|
form_param_keys = [
|
@@ -6082,17 +6295,14 @@ module Pandarus
|
|
6082
6295
|
|
6083
6296
|
# verify existence of params
|
6084
6297
|
raise "course_id is required" if course_id.nil?
|
6085
|
-
raise "date is required" if date.nil?
|
6086
6298
|
# set default values and merge with input
|
6087
6299
|
options = underscored_merge_opts(opts,
|
6088
|
-
:course_id => course_id
|
6089
|
-
:date => date
|
6300
|
+
:course_id => course_id
|
6090
6301
|
)
|
6091
6302
|
|
6092
6303
|
# resource path
|
6093
|
-
path = path_replace("/v1/courses/{course_id}
|
6094
|
-
:course_id => course_id
|
6095
|
-
:date => date)
|
6304
|
+
path = path_replace("/v1/audit/grade_change/courses/{course_id}",
|
6305
|
+
:course_id => course_id)
|
6096
6306
|
headers = nil
|
6097
6307
|
form_params = select_params(options, form_param_keys)
|
6098
6308
|
query_params = select_params(options, query_param_keys)
|
@@ -6102,11 +6312,12 @@ module Pandarus
|
|
6102
6312
|
end
|
6103
6313
|
response = mixed_request(:get, path, query_params, form_params, headers)
|
6104
6314
|
page_params_store(:get, path)
|
6105
|
-
response.map {|response|
|
6315
|
+
response.map {|response|GradeChangeEvent.new(response)}
|
6106
6316
|
end
|
6107
|
-
def
|
6317
|
+
def query_by_student(student_id,opts={})
|
6108
6318
|
query_param_keys = [
|
6109
|
-
|
6319
|
+
:start_time,
|
6320
|
+
:end_time
|
6110
6321
|
]
|
6111
6322
|
|
6112
6323
|
form_param_keys = [
|
@@ -6114,24 +6325,15 @@ module Pandarus
|
|
6114
6325
|
]
|
6115
6326
|
|
6116
6327
|
# verify existence of params
|
6117
|
-
raise "
|
6118
|
-
raise "date is required" if date.nil?
|
6119
|
-
raise "grader_id is required" if grader_id.nil?
|
6120
|
-
raise "assignment_id is required" if assignment_id.nil?
|
6328
|
+
raise "student_id is required" if student_id.nil?
|
6121
6329
|
# set default values and merge with input
|
6122
6330
|
options = underscored_merge_opts(opts,
|
6123
|
-
:
|
6124
|
-
:date => date,
|
6125
|
-
:grader_id => grader_id,
|
6126
|
-
:assignment_id => assignment_id
|
6331
|
+
:student_id => student_id
|
6127
6332
|
)
|
6128
6333
|
|
6129
6334
|
# resource path
|
6130
|
-
path = path_replace("/v1/
|
6131
|
-
:
|
6132
|
-
:date => date,
|
6133
|
-
:grader_id => grader_id,
|
6134
|
-
:assignment_id => assignment_id)
|
6335
|
+
path = path_replace("/v1/audit/grade_change/students/{student_id}",
|
6336
|
+
:student_id => student_id)
|
6135
6337
|
headers = nil
|
6136
6338
|
form_params = select_params(options, form_param_keys)
|
6137
6339
|
query_params = select_params(options, query_param_keys)
|
@@ -6141,13 +6343,12 @@ module Pandarus
|
|
6141
6343
|
end
|
6142
6344
|
response = mixed_request(:get, path, query_params, form_params, headers)
|
6143
6345
|
page_params_store(:get, path)
|
6144
|
-
response.map {|response|
|
6346
|
+
response.map {|response|GradeChangeEvent.new(response)}
|
6145
6347
|
end
|
6146
|
-
def
|
6348
|
+
def query_by_grader(grader_id,opts={})
|
6147
6349
|
query_param_keys = [
|
6148
|
-
:
|
6149
|
-
:
|
6150
|
-
:ascending
|
6350
|
+
:start_time,
|
6351
|
+
:end_time
|
6151
6352
|
]
|
6152
6353
|
|
6153
6354
|
form_param_keys = [
|
@@ -6155,15 +6356,15 @@ module Pandarus
|
|
6155
6356
|
]
|
6156
6357
|
|
6157
6358
|
# verify existence of params
|
6158
|
-
raise "
|
6359
|
+
raise "grader_id is required" if grader_id.nil?
|
6159
6360
|
# set default values and merge with input
|
6160
6361
|
options = underscored_merge_opts(opts,
|
6161
|
-
:
|
6362
|
+
:grader_id => grader_id
|
6162
6363
|
)
|
6163
6364
|
|
6164
6365
|
# resource path
|
6165
|
-
path = path_replace("/v1/
|
6166
|
-
:
|
6366
|
+
path = path_replace("/v1/audit/grade_change/graders/{grader_id}",
|
6367
|
+
:grader_id => grader_id)
|
6167
6368
|
headers = nil
|
6168
6369
|
form_params = select_params(options, form_param_keys)
|
6169
6370
|
query_params = select_params(options, query_param_keys)
|
@@ -6173,9 +6374,9 @@ module Pandarus
|
|
6173
6374
|
end
|
6174
6375
|
response = mixed_request(:get, path, query_params, form_params, headers)
|
6175
6376
|
page_params_store(:get, path)
|
6176
|
-
response.map {|response|
|
6377
|
+
response.map {|response|GradeChangeEvent.new(response)}
|
6177
6378
|
end
|
6178
|
-
def
|
6379
|
+
def days_in_gradebook_history_for_this_course(course_id,opts={})
|
6179
6380
|
query_param_keys = [
|
6180
6381
|
|
6181
6382
|
]
|
@@ -6192,7 +6393,7 @@ module Pandarus
|
|
6192
6393
|
)
|
6193
6394
|
|
6194
6395
|
# resource path
|
6195
|
-
path = path_replace("/v1/courses/{course_id}/
|
6396
|
+
path = path_replace("/v1/courses/{course_id}/gradebook_history/days",
|
6196
6397
|
:course_id => course_id)
|
6197
6398
|
headers = nil
|
6198
6399
|
form_params = select_params(options, form_param_keys)
|
@@ -6203,9 +6404,143 @@ module Pandarus
|
|
6203
6404
|
end
|
6204
6405
|
response = mixed_request(:get, path, query_params, form_params, headers)
|
6205
6406
|
page_params_store(:get, path)
|
6206
|
-
response.map {|response|
|
6407
|
+
response.map {|response|Day.new(response)}
|
6207
6408
|
end
|
6208
|
-
def
|
6409
|
+
def details_for_given_date_in_gradebook_history_for_this_course(course_id,date,opts={})
|
6410
|
+
query_param_keys = [
|
6411
|
+
|
6412
|
+
]
|
6413
|
+
|
6414
|
+
form_param_keys = [
|
6415
|
+
|
6416
|
+
]
|
6417
|
+
|
6418
|
+
# verify existence of params
|
6419
|
+
raise "course_id is required" if course_id.nil?
|
6420
|
+
raise "date is required" if date.nil?
|
6421
|
+
# set default values and merge with input
|
6422
|
+
options = underscored_merge_opts(opts,
|
6423
|
+
:course_id => course_id,
|
6424
|
+
:date => date
|
6425
|
+
)
|
6426
|
+
|
6427
|
+
# resource path
|
6428
|
+
path = path_replace("/v1/courses/{course_id}/gradebook_history/{date}",
|
6429
|
+
:course_id => course_id,
|
6430
|
+
:date => date)
|
6431
|
+
headers = nil
|
6432
|
+
form_params = select_params(options, form_param_keys)
|
6433
|
+
query_params = select_params(options, query_param_keys)
|
6434
|
+
if opts[:next_page]
|
6435
|
+
pagination_params = page_params_load(:get, path)
|
6436
|
+
query_params.merge! pagination_params if pagination_params
|
6437
|
+
end
|
6438
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
6439
|
+
page_params_store(:get, path)
|
6440
|
+
response.map {|response|Grader.new(response)}
|
6441
|
+
end
|
6442
|
+
def lists_submissions(course_id,date,grader_id,assignment_id,opts={})
|
6443
|
+
query_param_keys = [
|
6444
|
+
|
6445
|
+
]
|
6446
|
+
|
6447
|
+
form_param_keys = [
|
6448
|
+
|
6449
|
+
]
|
6450
|
+
|
6451
|
+
# verify existence of params
|
6452
|
+
raise "course_id is required" if course_id.nil?
|
6453
|
+
raise "date is required" if date.nil?
|
6454
|
+
raise "grader_id is required" if grader_id.nil?
|
6455
|
+
raise "assignment_id is required" if assignment_id.nil?
|
6456
|
+
# set default values and merge with input
|
6457
|
+
options = underscored_merge_opts(opts,
|
6458
|
+
:course_id => course_id,
|
6459
|
+
:date => date,
|
6460
|
+
:grader_id => grader_id,
|
6461
|
+
:assignment_id => assignment_id
|
6462
|
+
)
|
6463
|
+
|
6464
|
+
# resource path
|
6465
|
+
path = path_replace("/v1/courses/{course_id}/gradebook_history/{date}/graders/{grader_id}/assignments/{assignment_id}/submissions",
|
6466
|
+
:course_id => course_id,
|
6467
|
+
:date => date,
|
6468
|
+
:grader_id => grader_id,
|
6469
|
+
:assignment_id => assignment_id)
|
6470
|
+
headers = nil
|
6471
|
+
form_params = select_params(options, form_param_keys)
|
6472
|
+
query_params = select_params(options, query_param_keys)
|
6473
|
+
if opts[:next_page]
|
6474
|
+
pagination_params = page_params_load(:get, path)
|
6475
|
+
query_params.merge! pagination_params if pagination_params
|
6476
|
+
end
|
6477
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
6478
|
+
page_params_store(:get, path)
|
6479
|
+
response.map {|response|SubmissionHistory.new(response)}
|
6480
|
+
end
|
6481
|
+
def list_uncollated_submission_versions(course_id,opts={})
|
6482
|
+
query_param_keys = [
|
6483
|
+
:assignment_id,
|
6484
|
+
:user_id,
|
6485
|
+
:ascending
|
6486
|
+
]
|
6487
|
+
|
6488
|
+
form_param_keys = [
|
6489
|
+
|
6490
|
+
]
|
6491
|
+
|
6492
|
+
# verify existence of params
|
6493
|
+
raise "course_id is required" if course_id.nil?
|
6494
|
+
# set default values and merge with input
|
6495
|
+
options = underscored_merge_opts(opts,
|
6496
|
+
:course_id => course_id
|
6497
|
+
)
|
6498
|
+
|
6499
|
+
# resource path
|
6500
|
+
path = path_replace("/v1/courses/{course_id}/gradebook_history/feed",
|
6501
|
+
:course_id => course_id)
|
6502
|
+
headers = nil
|
6503
|
+
form_params = select_params(options, form_param_keys)
|
6504
|
+
query_params = select_params(options, query_param_keys)
|
6505
|
+
if opts[:next_page]
|
6506
|
+
pagination_params = page_params_load(:get, path)
|
6507
|
+
query_params.merge! pagination_params if pagination_params
|
6508
|
+
end
|
6509
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
6510
|
+
page_params_store(:get, path)
|
6511
|
+
response.map {|response|SubmissionVersion.new(response)}
|
6512
|
+
end
|
6513
|
+
def list_group_categories_for_context(course_id,opts={})
|
6514
|
+
query_param_keys = [
|
6515
|
+
|
6516
|
+
]
|
6517
|
+
|
6518
|
+
form_param_keys = [
|
6519
|
+
|
6520
|
+
]
|
6521
|
+
|
6522
|
+
# verify existence of params
|
6523
|
+
raise "course_id is required" if course_id.nil?
|
6524
|
+
# set default values and merge with input
|
6525
|
+
options = underscored_merge_opts(opts,
|
6526
|
+
:course_id => course_id
|
6527
|
+
)
|
6528
|
+
|
6529
|
+
# resource path
|
6530
|
+
path = path_replace("/v1/courses/{course_id}/group_categories",
|
6531
|
+
:course_id => course_id)
|
6532
|
+
headers = nil
|
6533
|
+
form_params = select_params(options, form_param_keys)
|
6534
|
+
query_params = select_params(options, query_param_keys)
|
6535
|
+
if opts[:next_page]
|
6536
|
+
pagination_params = page_params_load(:get, path)
|
6537
|
+
query_params.merge! pagination_params if pagination_params
|
6538
|
+
end
|
6539
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
6540
|
+
page_params_store(:get, path)
|
6541
|
+
response.map {|response|GroupCategory.new(response)}
|
6542
|
+
end
|
6543
|
+
def get_single_group_category(group_category_id,opts={})
|
6209
6544
|
query_param_keys = [
|
6210
6545
|
|
6211
6546
|
]
|
@@ -6443,7 +6778,8 @@ module Pandarus
|
|
6443
6778
|
|
6444
6779
|
# set default values and merge with input
|
6445
6780
|
options = underscored_merge_opts(opts,
|
6446
|
-
|
6781
|
+
{}
|
6782
|
+
|
6447
6783
|
)
|
6448
6784
|
|
6449
6785
|
# resource path
|
@@ -7622,7 +7958,8 @@ module Pandarus
|
|
7622
7958
|
|
7623
7959
|
# set default values and merge with input
|
7624
7960
|
options = underscored_merge_opts(opts,
|
7625
|
-
|
7961
|
+
{}
|
7962
|
+
|
7626
7963
|
)
|
7627
7964
|
|
7628
7965
|
# resource path
|
@@ -8390,30 +8727,64 @@ module Pandarus
|
|
8390
8727
|
page_params_store(:get, path)
|
8391
8728
|
Progress.new(response)
|
8392
8729
|
end
|
8393
|
-
def
|
8730
|
+
def get_available_quiz_ip_filters(course_id,quiz_id,opts={})
|
8394
8731
|
query_param_keys = [
|
8395
8732
|
|
8396
8733
|
]
|
8397
8734
|
|
8398
8735
|
form_param_keys = [
|
8399
|
-
:quiz_report__report_type__,
|
8400
|
-
:quiz_report__includes_all_versions__,
|
8401
8736
|
|
8402
8737
|
]
|
8403
8738
|
|
8404
8739
|
# verify existence of params
|
8405
8740
|
raise "course_id is required" if course_id.nil?
|
8406
8741
|
raise "quiz_id is required" if quiz_id.nil?
|
8407
|
-
raise "quiz_report__report_type__ is required" if quiz_report__report_type__.nil?
|
8408
8742
|
# set default values and merge with input
|
8409
8743
|
options = underscored_merge_opts(opts,
|
8410
8744
|
:course_id => course_id,
|
8411
|
-
:quiz_id => quiz_id
|
8412
|
-
:quiz_report__report_type__ => quiz_report__report_type__
|
8745
|
+
:quiz_id => quiz_id
|
8413
8746
|
)
|
8414
8747
|
|
8415
8748
|
# resource path
|
8416
|
-
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/
|
8749
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/ip_filters",
|
8750
|
+
:course_id => course_id,
|
8751
|
+
:quiz_id => quiz_id)
|
8752
|
+
headers = nil
|
8753
|
+
form_params = select_params(options, form_param_keys)
|
8754
|
+
query_params = select_params(options, query_param_keys)
|
8755
|
+
if opts[:next_page]
|
8756
|
+
pagination_params = page_params_load(:get, path)
|
8757
|
+
query_params.merge! pagination_params if pagination_params
|
8758
|
+
end
|
8759
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
8760
|
+
page_params_store(:get, path)
|
8761
|
+
response
|
8762
|
+
|
8763
|
+
end
|
8764
|
+
def create_question_group(course_id,quiz_id,opts={})
|
8765
|
+
query_param_keys = [
|
8766
|
+
|
8767
|
+
]
|
8768
|
+
|
8769
|
+
form_param_keys = [
|
8770
|
+
:quiz_groups__name__,
|
8771
|
+
:quiz_groups__pick_count__,
|
8772
|
+
:quiz_groups__question_points__,
|
8773
|
+
:quiz_groups__assessment_question_bank_id__,
|
8774
|
+
|
8775
|
+
]
|
8776
|
+
|
8777
|
+
# verify existence of params
|
8778
|
+
raise "course_id is required" if course_id.nil?
|
8779
|
+
raise "quiz_id is required" if quiz_id.nil?
|
8780
|
+
# set default values and merge with input
|
8781
|
+
options = underscored_merge_opts(opts,
|
8782
|
+
:course_id => course_id,
|
8783
|
+
:quiz_id => quiz_id
|
8784
|
+
)
|
8785
|
+
|
8786
|
+
# resource path
|
8787
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/groups",
|
8417
8788
|
:course_id => course_id,
|
8418
8789
|
:quiz_id => quiz_id)
|
8419
8790
|
headers = nil
|
@@ -8425,14 +8796,18 @@ module Pandarus
|
|
8425
8796
|
end
|
8426
8797
|
response = mixed_request(:post, path, query_params, form_params, headers)
|
8427
8798
|
page_params_store(:post, path)
|
8428
|
-
|
8799
|
+
response
|
8800
|
+
|
8429
8801
|
end
|
8430
|
-
def
|
8802
|
+
def update_question_group(course_id,quiz_id,id,opts={})
|
8431
8803
|
query_param_keys = [
|
8432
8804
|
|
8433
8805
|
]
|
8434
8806
|
|
8435
8807
|
form_param_keys = [
|
8808
|
+
:quiz_groups__name__,
|
8809
|
+
:quiz_groups__pick_count__,
|
8810
|
+
:quiz_groups__question_points__,
|
8436
8811
|
|
8437
8812
|
]
|
8438
8813
|
|
@@ -8448,7 +8823,7 @@ module Pandarus
|
|
8448
8823
|
)
|
8449
8824
|
|
8450
8825
|
# resource path
|
8451
|
-
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/
|
8826
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/groups/{id}",
|
8452
8827
|
:course_id => course_id,
|
8453
8828
|
:quiz_id => quiz_id,
|
8454
8829
|
:id => id)
|
@@ -8456,16 +8831,17 @@ module Pandarus
|
|
8456
8831
|
form_params = select_params(options, form_param_keys)
|
8457
8832
|
query_params = select_params(options, query_param_keys)
|
8458
8833
|
if opts[:next_page]
|
8459
|
-
pagination_params = page_params_load(:
|
8834
|
+
pagination_params = page_params_load(:put, path)
|
8460
8835
|
query_params.merge! pagination_params if pagination_params
|
8461
8836
|
end
|
8462
|
-
response = mixed_request(:
|
8463
|
-
page_params_store(:
|
8464
|
-
|
8837
|
+
response = mixed_request(:put, path, query_params, form_params, headers)
|
8838
|
+
page_params_store(:put, path)
|
8839
|
+
response
|
8840
|
+
|
8465
8841
|
end
|
8466
|
-
def
|
8842
|
+
def delete_question_group(course_id,quiz_id,id,opts={})
|
8467
8843
|
query_param_keys = [
|
8468
|
-
|
8844
|
+
|
8469
8845
|
]
|
8470
8846
|
|
8471
8847
|
form_param_keys = [
|
@@ -8474,91 +8850,570 @@ module Pandarus
|
|
8474
8850
|
|
8475
8851
|
# verify existence of params
|
8476
8852
|
raise "course_id is required" if course_id.nil?
|
8853
|
+
raise "quiz_id is required" if quiz_id.nil?
|
8854
|
+
raise "id is required" if id.nil?
|
8477
8855
|
# set default values and merge with input
|
8478
8856
|
options = underscored_merge_opts(opts,
|
8479
|
-
:course_id => course_id
|
8857
|
+
:course_id => course_id,
|
8858
|
+
:quiz_id => quiz_id,
|
8859
|
+
:id => id
|
8480
8860
|
)
|
8481
8861
|
|
8482
8862
|
# resource path
|
8483
|
-
path = path_replace("/v1/courses/{course_id}/quizzes",
|
8484
|
-
:course_id => course_id
|
8863
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/groups/{id}",
|
8864
|
+
:course_id => course_id,
|
8865
|
+
:quiz_id => quiz_id,
|
8866
|
+
:id => id)
|
8485
8867
|
headers = nil
|
8486
8868
|
form_params = select_params(options, form_param_keys)
|
8487
8869
|
query_params = select_params(options, query_param_keys)
|
8488
8870
|
if opts[:next_page]
|
8489
|
-
pagination_params = page_params_load(:
|
8871
|
+
pagination_params = page_params_load(:delete, path)
|
8490
8872
|
query_params.merge! pagination_params if pagination_params
|
8491
8873
|
end
|
8492
|
-
response = mixed_request(:
|
8493
|
-
page_params_store(:
|
8494
|
-
response
|
8874
|
+
response = mixed_request(:delete, path, query_params, form_params, headers)
|
8875
|
+
page_params_store(:delete, path)
|
8876
|
+
response
|
8877
|
+
|
8495
8878
|
end
|
8496
|
-
def
|
8879
|
+
def reorder_question_groups(course_id,quiz_id,id,order__id__,order__type__,opts={})
|
8497
8880
|
query_param_keys = [
|
8498
8881
|
|
8499
8882
|
]
|
8500
8883
|
|
8501
8884
|
form_param_keys = [
|
8885
|
+
:order__id__,
|
8886
|
+
:order__type__,
|
8502
8887
|
|
8503
8888
|
]
|
8504
8889
|
|
8505
8890
|
# verify existence of params
|
8506
8891
|
raise "course_id is required" if course_id.nil?
|
8892
|
+
raise "quiz_id is required" if quiz_id.nil?
|
8507
8893
|
raise "id is required" if id.nil?
|
8894
|
+
raise "order__id__ is required" if order__id__.nil?
|
8895
|
+
raise "order__type__ is required" if order__type__.nil?
|
8508
8896
|
# set default values and merge with input
|
8509
8897
|
options = underscored_merge_opts(opts,
|
8510
8898
|
:course_id => course_id,
|
8511
|
-
:
|
8899
|
+
:quiz_id => quiz_id,
|
8900
|
+
:id => id,
|
8901
|
+
:order__id__ => order__id__,
|
8902
|
+
:order__type__ => order__type__
|
8512
8903
|
)
|
8513
8904
|
|
8514
8905
|
# resource path
|
8515
|
-
path = path_replace("/v1/courses/{course_id}/quizzes/{id}",
|
8906
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/groups/{id}/reorder",
|
8516
8907
|
:course_id => course_id,
|
8908
|
+
:quiz_id => quiz_id,
|
8517
8909
|
:id => id)
|
8518
8910
|
headers = nil
|
8519
8911
|
form_params = select_params(options, form_param_keys)
|
8520
8912
|
query_params = select_params(options, query_param_keys)
|
8521
8913
|
if opts[:next_page]
|
8522
|
-
pagination_params = page_params_load(:
|
8914
|
+
pagination_params = page_params_load(:post, path)
|
8523
8915
|
query_params.merge! pagination_params if pagination_params
|
8524
8916
|
end
|
8525
|
-
response = mixed_request(:
|
8526
|
-
page_params_store(:
|
8527
|
-
|
8917
|
+
response = mixed_request(:post, path, query_params, form_params, headers)
|
8918
|
+
page_params_store(:post, path)
|
8919
|
+
response
|
8920
|
+
|
8528
8921
|
end
|
8529
|
-
def
|
8922
|
+
def create_quiz_report(course_id,quiz_id,quiz_report__report_type__,opts={})
|
8530
8923
|
query_param_keys = [
|
8531
8924
|
|
8532
8925
|
]
|
8533
8926
|
|
8534
8927
|
form_param_keys = [
|
8535
|
-
:
|
8536
|
-
:
|
8537
|
-
:quiz__quiz_type__,
|
8538
|
-
:quiz__assignment_group_id__,
|
8539
|
-
:quiz__time_limit__,
|
8540
|
-
:quiz__shuffle_answers__,
|
8541
|
-
:quiz__hide_results__,
|
8542
|
-
:quiz__show_correct_answers__,
|
8543
|
-
:quiz__allowed_attempts__,
|
8544
|
-
:quiz__scoring_policy__,
|
8545
|
-
:quiz__one_question_at_a_time__,
|
8546
|
-
:quiz__cant_go_back__,
|
8547
|
-
:quiz__access_code__,
|
8548
|
-
:quiz__ip_filter__,
|
8549
|
-
:quiz__due_at__,
|
8550
|
-
:quiz__lock_at__,
|
8551
|
-
:quiz__unlock_at__,
|
8552
|
-
:quiz__published__,
|
8928
|
+
:quiz_report__report_type__,
|
8929
|
+
:quiz_report__includes_all_versions__,
|
8553
8930
|
|
8554
8931
|
]
|
8555
8932
|
|
8556
8933
|
# verify existence of params
|
8557
8934
|
raise "course_id is required" if course_id.nil?
|
8558
|
-
raise "
|
8559
|
-
raise "
|
8560
|
-
|
8561
|
-
|
8935
|
+
raise "quiz_id is required" if quiz_id.nil?
|
8936
|
+
raise "quiz_report__report_type__ is required" if quiz_report__report_type__.nil?
|
8937
|
+
# set default values and merge with input
|
8938
|
+
options = underscored_merge_opts(opts,
|
8939
|
+
:course_id => course_id,
|
8940
|
+
:quiz_id => quiz_id,
|
8941
|
+
:quiz_report__report_type__ => quiz_report__report_type__
|
8942
|
+
)
|
8943
|
+
|
8944
|
+
# resource path
|
8945
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/reports",
|
8946
|
+
:course_id => course_id,
|
8947
|
+
:quiz_id => quiz_id)
|
8948
|
+
headers = nil
|
8949
|
+
form_params = select_params(options, form_param_keys)
|
8950
|
+
query_params = select_params(options, query_param_keys)
|
8951
|
+
if opts[:next_page]
|
8952
|
+
pagination_params = page_params_load(:post, path)
|
8953
|
+
query_params.merge! pagination_params if pagination_params
|
8954
|
+
end
|
8955
|
+
response = mixed_request(:post, path, query_params, form_params, headers)
|
8956
|
+
page_params_store(:post, path)
|
8957
|
+
QuizReport.new(response)
|
8958
|
+
end
|
8959
|
+
def get_quiz_report(course_id,quiz_id,id,opts={})
|
8960
|
+
query_param_keys = [
|
8961
|
+
|
8962
|
+
]
|
8963
|
+
|
8964
|
+
form_param_keys = [
|
8965
|
+
|
8966
|
+
]
|
8967
|
+
|
8968
|
+
# verify existence of params
|
8969
|
+
raise "course_id is required" if course_id.nil?
|
8970
|
+
raise "quiz_id is required" if quiz_id.nil?
|
8971
|
+
raise "id is required" if id.nil?
|
8972
|
+
# set default values and merge with input
|
8973
|
+
options = underscored_merge_opts(opts,
|
8974
|
+
:course_id => course_id,
|
8975
|
+
:quiz_id => quiz_id,
|
8976
|
+
:id => id
|
8977
|
+
)
|
8978
|
+
|
8979
|
+
# resource path
|
8980
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/reports/{id}",
|
8981
|
+
:course_id => course_id,
|
8982
|
+
:quiz_id => quiz_id,
|
8983
|
+
:id => id)
|
8984
|
+
headers = nil
|
8985
|
+
form_params = select_params(options, form_param_keys)
|
8986
|
+
query_params = select_params(options, query_param_keys)
|
8987
|
+
if opts[:next_page]
|
8988
|
+
pagination_params = page_params_load(:get, path)
|
8989
|
+
query_params.merge! pagination_params if pagination_params
|
8990
|
+
end
|
8991
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
8992
|
+
page_params_store(:get, path)
|
8993
|
+
QuizReport.new(response)
|
8994
|
+
end
|
8995
|
+
def upload_file(course_id,quiz_id,name,on_duplicate,opts={})
|
8996
|
+
query_param_keys = [
|
8997
|
+
|
8998
|
+
]
|
8999
|
+
|
9000
|
+
form_param_keys = [
|
9001
|
+
:name,
|
9002
|
+
:on_duplicate,
|
9003
|
+
|
9004
|
+
]
|
9005
|
+
|
9006
|
+
# verify existence of params
|
9007
|
+
raise "course_id is required" if course_id.nil?
|
9008
|
+
raise "quiz_id is required" if quiz_id.nil?
|
9009
|
+
raise "name is required" if name.nil?
|
9010
|
+
raise "on_duplicate is required" if on_duplicate.nil?
|
9011
|
+
# set default values and merge with input
|
9012
|
+
options = underscored_merge_opts(opts,
|
9013
|
+
:course_id => course_id,
|
9014
|
+
:quiz_id => quiz_id,
|
9015
|
+
:name => name,
|
9016
|
+
:on_duplicate => on_duplicate
|
9017
|
+
)
|
9018
|
+
|
9019
|
+
# resource path
|
9020
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/submissions/self/files",
|
9021
|
+
:course_id => course_id,
|
9022
|
+
:quiz_id => quiz_id)
|
9023
|
+
headers = nil
|
9024
|
+
form_params = select_params(options, form_param_keys)
|
9025
|
+
query_params = select_params(options, query_param_keys)
|
9026
|
+
if opts[:next_page]
|
9027
|
+
pagination_params = page_params_load(:post, path)
|
9028
|
+
query_params.merge! pagination_params if pagination_params
|
9029
|
+
end
|
9030
|
+
response = mixed_request(:post, path, query_params, form_params, headers)
|
9031
|
+
page_params_store(:post, path)
|
9032
|
+
response
|
9033
|
+
|
9034
|
+
end
|
9035
|
+
def get_all_quiz_submissions(course_id,quiz_id,include,opts={})
|
9036
|
+
query_param_keys = [
|
9037
|
+
:include
|
9038
|
+
]
|
9039
|
+
|
9040
|
+
form_param_keys = [
|
9041
|
+
|
9042
|
+
]
|
9043
|
+
|
9044
|
+
# verify existence of params
|
9045
|
+
raise "course_id is required" if course_id.nil?
|
9046
|
+
raise "quiz_id is required" if quiz_id.nil?
|
9047
|
+
raise "include is required" if include.nil?
|
9048
|
+
# set default values and merge with input
|
9049
|
+
options = underscored_merge_opts(opts,
|
9050
|
+
:course_id => course_id,
|
9051
|
+
:quiz_id => quiz_id,
|
9052
|
+
:include => include
|
9053
|
+
)
|
9054
|
+
|
9055
|
+
# resource path
|
9056
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/submissions",
|
9057
|
+
:course_id => course_id,
|
9058
|
+
:quiz_id => quiz_id)
|
9059
|
+
headers = nil
|
9060
|
+
form_params = select_params(options, form_param_keys)
|
9061
|
+
query_params = select_params(options, query_param_keys)
|
9062
|
+
if opts[:next_page]
|
9063
|
+
pagination_params = page_params_load(:get, path)
|
9064
|
+
query_params.merge! pagination_params if pagination_params
|
9065
|
+
end
|
9066
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
9067
|
+
page_params_store(:get, path)
|
9068
|
+
response
|
9069
|
+
|
9070
|
+
end
|
9071
|
+
def get_single_quiz_submission(course_id,quiz_id,id,include,opts={})
|
9072
|
+
query_param_keys = [
|
9073
|
+
:include
|
9074
|
+
]
|
9075
|
+
|
9076
|
+
form_param_keys = [
|
9077
|
+
|
9078
|
+
]
|
9079
|
+
|
9080
|
+
# verify existence of params
|
9081
|
+
raise "course_id is required" if course_id.nil?
|
9082
|
+
raise "quiz_id is required" if quiz_id.nil?
|
9083
|
+
raise "id is required" if id.nil?
|
9084
|
+
raise "include is required" if include.nil?
|
9085
|
+
# set default values and merge with input
|
9086
|
+
options = underscored_merge_opts(opts,
|
9087
|
+
:course_id => course_id,
|
9088
|
+
:quiz_id => quiz_id,
|
9089
|
+
:id => id,
|
9090
|
+
:include => include
|
9091
|
+
)
|
9092
|
+
|
9093
|
+
# resource path
|
9094
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/submissions/{id}",
|
9095
|
+
:course_id => course_id,
|
9096
|
+
:quiz_id => quiz_id,
|
9097
|
+
:id => id)
|
9098
|
+
headers = nil
|
9099
|
+
form_params = select_params(options, form_param_keys)
|
9100
|
+
query_params = select_params(options, query_param_keys)
|
9101
|
+
if opts[:next_page]
|
9102
|
+
pagination_params = page_params_load(:get, path)
|
9103
|
+
query_params.merge! pagination_params if pagination_params
|
9104
|
+
end
|
9105
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
9106
|
+
page_params_store(:get, path)
|
9107
|
+
response
|
9108
|
+
|
9109
|
+
end
|
9110
|
+
def list_questions_in_quiz(course_id,quiz_id,opts={})
|
9111
|
+
query_param_keys = [
|
9112
|
+
|
9113
|
+
]
|
9114
|
+
|
9115
|
+
form_param_keys = [
|
9116
|
+
|
9117
|
+
]
|
9118
|
+
|
9119
|
+
# verify existence of params
|
9120
|
+
raise "course_id is required" if course_id.nil?
|
9121
|
+
raise "quiz_id is required" if quiz_id.nil?
|
9122
|
+
# set default values and merge with input
|
9123
|
+
options = underscored_merge_opts(opts,
|
9124
|
+
:course_id => course_id,
|
9125
|
+
:quiz_id => quiz_id
|
9126
|
+
)
|
9127
|
+
|
9128
|
+
# resource path
|
9129
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/questions",
|
9130
|
+
:course_id => course_id,
|
9131
|
+
:quiz_id => quiz_id)
|
9132
|
+
headers = nil
|
9133
|
+
form_params = select_params(options, form_param_keys)
|
9134
|
+
query_params = select_params(options, query_param_keys)
|
9135
|
+
if opts[:next_page]
|
9136
|
+
pagination_params = page_params_load(:get, path)
|
9137
|
+
query_params.merge! pagination_params if pagination_params
|
9138
|
+
end
|
9139
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
9140
|
+
page_params_store(:get, path)
|
9141
|
+
response.map {|response|QuizQuestion.new(response)}
|
9142
|
+
end
|
9143
|
+
def get_single_quiz_question(course_id,quiz_id,id,opts={})
|
9144
|
+
query_param_keys = [
|
9145
|
+
|
9146
|
+
]
|
9147
|
+
|
9148
|
+
form_param_keys = [
|
9149
|
+
|
9150
|
+
]
|
9151
|
+
|
9152
|
+
# verify existence of params
|
9153
|
+
raise "course_id is required" if course_id.nil?
|
9154
|
+
raise "quiz_id is required" if quiz_id.nil?
|
9155
|
+
raise "id is required" if id.nil?
|
9156
|
+
# set default values and merge with input
|
9157
|
+
options = underscored_merge_opts(opts,
|
9158
|
+
:course_id => course_id,
|
9159
|
+
:quiz_id => quiz_id,
|
9160
|
+
:id => id
|
9161
|
+
)
|
9162
|
+
|
9163
|
+
# resource path
|
9164
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/questions/{id}",
|
9165
|
+
:course_id => course_id,
|
9166
|
+
:quiz_id => quiz_id,
|
9167
|
+
:id => id)
|
9168
|
+
headers = nil
|
9169
|
+
form_params = select_params(options, form_param_keys)
|
9170
|
+
query_params = select_params(options, query_param_keys)
|
9171
|
+
if opts[:next_page]
|
9172
|
+
pagination_params = page_params_load(:get, path)
|
9173
|
+
query_params.merge! pagination_params if pagination_params
|
9174
|
+
end
|
9175
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
9176
|
+
page_params_store(:get, path)
|
9177
|
+
QuizQuestion.new(response)
|
9178
|
+
end
|
9179
|
+
def create_single_quiz_question(course_id,quiz_id,question__question_name__,question__question_text__,question__question_type__,opts={})
|
9180
|
+
query_param_keys = [
|
9181
|
+
|
9182
|
+
]
|
9183
|
+
|
9184
|
+
form_param_keys = [
|
9185
|
+
:question__question_name__,
|
9186
|
+
:question__question_text__,
|
9187
|
+
:question__quiz_group_id__,
|
9188
|
+
:question__question_type__,
|
9189
|
+
:question__position__,
|
9190
|
+
:question__points_possible__,
|
9191
|
+
:question__correct_comments__,
|
9192
|
+
:question__incorrect_comments__,
|
9193
|
+
:question__neutral_comments__,
|
9194
|
+
:question__text_after_answers__,
|
9195
|
+
:question__answers__,
|
9196
|
+
|
9197
|
+
]
|
9198
|
+
|
9199
|
+
# verify existence of params
|
9200
|
+
raise "course_id is required" if course_id.nil?
|
9201
|
+
raise "quiz_id is required" if quiz_id.nil?
|
9202
|
+
raise "question__question_name__ is required" if question__question_name__.nil?
|
9203
|
+
raise "question__question_text__ is required" if question__question_text__.nil?
|
9204
|
+
raise "question__question_type__ is required" if question__question_type__.nil?
|
9205
|
+
# set default values and merge with input
|
9206
|
+
options = underscored_merge_opts(opts,
|
9207
|
+
:course_id => course_id,
|
9208
|
+
:quiz_id => quiz_id,
|
9209
|
+
:question__question_name__ => question__question_name__,
|
9210
|
+
:question__question_text__ => question__question_text__,
|
9211
|
+
:question__question_type__ => question__question_type__
|
9212
|
+
)
|
9213
|
+
|
9214
|
+
# resource path
|
9215
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/questions",
|
9216
|
+
:course_id => course_id,
|
9217
|
+
:quiz_id => quiz_id)
|
9218
|
+
headers = nil
|
9219
|
+
form_params = select_params(options, form_param_keys)
|
9220
|
+
query_params = select_params(options, query_param_keys)
|
9221
|
+
if opts[:next_page]
|
9222
|
+
pagination_params = page_params_load(:post, path)
|
9223
|
+
query_params.merge! pagination_params if pagination_params
|
9224
|
+
end
|
9225
|
+
response = mixed_request(:post, path, query_params, form_params, headers)
|
9226
|
+
page_params_store(:post, path)
|
9227
|
+
QuizQuestion.new(response)
|
9228
|
+
end
|
9229
|
+
def update_existing_quiz_question(course_id,quiz_id,id,question__question_name__,question__question_text__,question__question_type__,opts={})
|
9230
|
+
query_param_keys = [
|
9231
|
+
|
9232
|
+
]
|
9233
|
+
|
9234
|
+
form_param_keys = [
|
9235
|
+
:question__question_name__,
|
9236
|
+
:question__question_text__,
|
9237
|
+
:question__quiz_group_id__,
|
9238
|
+
:question__question_type__,
|
9239
|
+
:question__position__,
|
9240
|
+
:question__points_possible__,
|
9241
|
+
:question__correct_comments__,
|
9242
|
+
:question__incorrect_comments__,
|
9243
|
+
:question__neutral_comments__,
|
9244
|
+
:question__text_after_answers__,
|
9245
|
+
:question__answers__,
|
9246
|
+
|
9247
|
+
]
|
9248
|
+
|
9249
|
+
# verify existence of params
|
9250
|
+
raise "course_id is required" if course_id.nil?
|
9251
|
+
raise "quiz_id is required" if quiz_id.nil?
|
9252
|
+
raise "id is required" if id.nil?
|
9253
|
+
raise "question__question_name__ is required" if question__question_name__.nil?
|
9254
|
+
raise "question__question_text__ is required" if question__question_text__.nil?
|
9255
|
+
raise "question__question_type__ is required" if question__question_type__.nil?
|
9256
|
+
# set default values and merge with input
|
9257
|
+
options = underscored_merge_opts(opts,
|
9258
|
+
:course_id => course_id,
|
9259
|
+
:quiz_id => quiz_id,
|
9260
|
+
:id => id,
|
9261
|
+
:question__question_name__ => question__question_name__,
|
9262
|
+
:question__question_text__ => question__question_text__,
|
9263
|
+
:question__question_type__ => question__question_type__
|
9264
|
+
)
|
9265
|
+
|
9266
|
+
# resource path
|
9267
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/questions/{id}",
|
9268
|
+
:course_id => course_id,
|
9269
|
+
:quiz_id => quiz_id,
|
9270
|
+
:id => id)
|
9271
|
+
headers = nil
|
9272
|
+
form_params = select_params(options, form_param_keys)
|
9273
|
+
query_params = select_params(options, query_param_keys)
|
9274
|
+
if opts[:next_page]
|
9275
|
+
pagination_params = page_params_load(:put, path)
|
9276
|
+
query_params.merge! pagination_params if pagination_params
|
9277
|
+
end
|
9278
|
+
response = mixed_request(:put, path, query_params, form_params, headers)
|
9279
|
+
page_params_store(:put, path)
|
9280
|
+
QuizQuestion.new(response)
|
9281
|
+
end
|
9282
|
+
def delete_quiz_question(course_id,quiz_id,id,opts={})
|
9283
|
+
query_param_keys = [
|
9284
|
+
|
9285
|
+
]
|
9286
|
+
|
9287
|
+
form_param_keys = [
|
9288
|
+
|
9289
|
+
]
|
9290
|
+
|
9291
|
+
# verify existence of params
|
9292
|
+
raise "course_id is required" if course_id.nil?
|
9293
|
+
raise "quiz_id is required" if quiz_id.nil?
|
9294
|
+
raise "id is required" if id.nil?
|
9295
|
+
# set default values and merge with input
|
9296
|
+
options = underscored_merge_opts(opts,
|
9297
|
+
:course_id => course_id,
|
9298
|
+
:quiz_id => quiz_id,
|
9299
|
+
:id => id
|
9300
|
+
)
|
9301
|
+
|
9302
|
+
# resource path
|
9303
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/questions/{id}",
|
9304
|
+
:course_id => course_id,
|
9305
|
+
:quiz_id => quiz_id,
|
9306
|
+
:id => id)
|
9307
|
+
headers = nil
|
9308
|
+
form_params = select_params(options, form_param_keys)
|
9309
|
+
query_params = select_params(options, query_param_keys)
|
9310
|
+
if opts[:next_page]
|
9311
|
+
pagination_params = page_params_load(:delete, path)
|
9312
|
+
query_params.merge! pagination_params if pagination_params
|
9313
|
+
end
|
9314
|
+
response = mixed_request(:delete, path, query_params, form_params, headers)
|
9315
|
+
page_params_store(:delete, path)
|
9316
|
+
response
|
9317
|
+
|
9318
|
+
end
|
9319
|
+
def list_quizzes_in_course(course_id,opts={})
|
9320
|
+
query_param_keys = [
|
9321
|
+
:search_term
|
9322
|
+
]
|
9323
|
+
|
9324
|
+
form_param_keys = [
|
9325
|
+
|
9326
|
+
]
|
9327
|
+
|
9328
|
+
# verify existence of params
|
9329
|
+
raise "course_id is required" if course_id.nil?
|
9330
|
+
# set default values and merge with input
|
9331
|
+
options = underscored_merge_opts(opts,
|
9332
|
+
:course_id => course_id
|
9333
|
+
)
|
9334
|
+
|
9335
|
+
# resource path
|
9336
|
+
path = path_replace("/v1/courses/{course_id}/quizzes",
|
9337
|
+
:course_id => course_id)
|
9338
|
+
headers = nil
|
9339
|
+
form_params = select_params(options, form_param_keys)
|
9340
|
+
query_params = select_params(options, query_param_keys)
|
9341
|
+
if opts[:next_page]
|
9342
|
+
pagination_params = page_params_load(:get, path)
|
9343
|
+
query_params.merge! pagination_params if pagination_params
|
9344
|
+
end
|
9345
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
9346
|
+
page_params_store(:get, path)
|
9347
|
+
response.map {|response|Quiz.new(response)}
|
9348
|
+
end
|
9349
|
+
def get_single_quiz(course_id,id,opts={})
|
9350
|
+
query_param_keys = [
|
9351
|
+
|
9352
|
+
]
|
9353
|
+
|
9354
|
+
form_param_keys = [
|
9355
|
+
|
9356
|
+
]
|
9357
|
+
|
9358
|
+
# verify existence of params
|
9359
|
+
raise "course_id is required" if course_id.nil?
|
9360
|
+
raise "id is required" if id.nil?
|
9361
|
+
# set default values and merge with input
|
9362
|
+
options = underscored_merge_opts(opts,
|
9363
|
+
:course_id => course_id,
|
9364
|
+
:id => id
|
9365
|
+
)
|
9366
|
+
|
9367
|
+
# resource path
|
9368
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{id}",
|
9369
|
+
:course_id => course_id,
|
9370
|
+
:id => id)
|
9371
|
+
headers = nil
|
9372
|
+
form_params = select_params(options, form_param_keys)
|
9373
|
+
query_params = select_params(options, query_param_keys)
|
9374
|
+
if opts[:next_page]
|
9375
|
+
pagination_params = page_params_load(:get, path)
|
9376
|
+
query_params.merge! pagination_params if pagination_params
|
9377
|
+
end
|
9378
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
9379
|
+
page_params_store(:get, path)
|
9380
|
+
Quiz.new(response)
|
9381
|
+
end
|
9382
|
+
def create_quiz(course_id,quiz__title__,quiz__description__,quiz__quiz_type__,quiz__assignment_group_id__,quiz__time_limit__,quiz__shuffle_answers__,quiz__scoring_policy__,quiz__due_at__,quiz__lock_at__,quiz__unlock_at__,quiz__published__,opts={})
|
9383
|
+
query_param_keys = [
|
9384
|
+
|
9385
|
+
]
|
9386
|
+
|
9387
|
+
form_param_keys = [
|
9388
|
+
:quiz__title__,
|
9389
|
+
:quiz__description__,
|
9390
|
+
:quiz__quiz_type__,
|
9391
|
+
:quiz__assignment_group_id__,
|
9392
|
+
:quiz__time_limit__,
|
9393
|
+
:quiz__shuffle_answers__,
|
9394
|
+
:quiz__hide_results__,
|
9395
|
+
:quiz__show_correct_answers__,
|
9396
|
+
:quiz__show_correct_answers_at__,
|
9397
|
+
:quiz__hide_correct_answers_at__,
|
9398
|
+
:quiz__allowed_attempts__,
|
9399
|
+
:quiz__scoring_policy__,
|
9400
|
+
:quiz__one_question_at_a_time__,
|
9401
|
+
:quiz__cant_go_back__,
|
9402
|
+
:quiz__access_code__,
|
9403
|
+
:quiz__ip_filter__,
|
9404
|
+
:quiz__due_at__,
|
9405
|
+
:quiz__lock_at__,
|
9406
|
+
:quiz__unlock_at__,
|
9407
|
+
:quiz__published__,
|
9408
|
+
|
9409
|
+
]
|
9410
|
+
|
9411
|
+
# verify existence of params
|
9412
|
+
raise "course_id is required" if course_id.nil?
|
9413
|
+
raise "quiz__title__ is required" if quiz__title__.nil?
|
9414
|
+
raise "quiz__description__ is required" if quiz__description__.nil?
|
9415
|
+
raise "quiz__quiz_type__ is required" if quiz__quiz_type__.nil?
|
9416
|
+
raise "quiz__assignment_group_id__ is required" if quiz__assignment_group_id__.nil?
|
8562
9417
|
raise "quiz__time_limit__ is required" if quiz__time_limit__.nil?
|
8563
9418
|
raise "quiz__shuffle_answers__ is required" if quiz__shuffle_answers__.nil?
|
8564
9419
|
raise "quiz__scoring_policy__ is required" if quiz__scoring_policy__.nil?
|
@@ -8665,6 +9520,46 @@ module Pandarus
|
|
8665
9520
|
page_params_store(:delete, path)
|
8666
9521
|
Quiz.new(response)
|
8667
9522
|
end
|
9523
|
+
def reorder_quiz_items(course_id,id,order__id__,order__type__,opts={})
|
9524
|
+
query_param_keys = [
|
9525
|
+
|
9526
|
+
]
|
9527
|
+
|
9528
|
+
form_param_keys = [
|
9529
|
+
:order__id__,
|
9530
|
+
:order__type__,
|
9531
|
+
|
9532
|
+
]
|
9533
|
+
|
9534
|
+
# verify existence of params
|
9535
|
+
raise "course_id is required" if course_id.nil?
|
9536
|
+
raise "id is required" if id.nil?
|
9537
|
+
raise "order__id__ is required" if order__id__.nil?
|
9538
|
+
raise "order__type__ is required" if order__type__.nil?
|
9539
|
+
# set default values and merge with input
|
9540
|
+
options = underscored_merge_opts(opts,
|
9541
|
+
:course_id => course_id,
|
9542
|
+
:id => id,
|
9543
|
+
:order__id__ => order__id__,
|
9544
|
+
:order__type__ => order__type__
|
9545
|
+
)
|
9546
|
+
|
9547
|
+
# resource path
|
9548
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{id}/reorder",
|
9549
|
+
:course_id => course_id,
|
9550
|
+
:id => id)
|
9551
|
+
headers = nil
|
9552
|
+
form_params = select_params(options, form_param_keys)
|
9553
|
+
query_params = select_params(options, query_param_keys)
|
9554
|
+
if opts[:next_page]
|
9555
|
+
pagination_params = page_params_load(:post, path)
|
9556
|
+
query_params.merge! pagination_params if pagination_params
|
9557
|
+
end
|
9558
|
+
response = mixed_request(:post, path, query_params, form_params, headers)
|
9559
|
+
page_params_store(:post, path)
|
9560
|
+
response
|
9561
|
+
|
9562
|
+
end
|
8668
9563
|
def list_roles(account_id,state,opts={})
|
8669
9564
|
query_param_keys = [
|
8670
9565
|
:state
|
@@ -9222,7 +10117,8 @@ module Pandarus
|
|
9222
10117
|
|
9223
10118
|
# set default values and merge with input
|
9224
10119
|
options = underscored_merge_opts(opts,
|
9225
|
-
|
10120
|
+
{}
|
10121
|
+
|
9226
10122
|
)
|
9227
10123
|
|
9228
10124
|
# resource path
|
@@ -9251,7 +10147,8 @@ module Pandarus
|
|
9251
10147
|
|
9252
10148
|
# set default values and merge with input
|
9253
10149
|
options = underscored_merge_opts(opts,
|
9254
|
-
|
10150
|
+
{}
|
10151
|
+
|
9255
10152
|
)
|
9256
10153
|
|
9257
10154
|
# resource path
|
@@ -9269,49 +10166,31 @@ module Pandarus
|
|
9269
10166
|
response
|
9270
10167
|
|
9271
10168
|
end
|
9272
|
-
def
|
10169
|
+
def upload_file(course_id,assignment_id,user_id,opts={})
|
9273
10170
|
query_param_keys = [
|
9274
10171
|
|
9275
10172
|
]
|
9276
10173
|
|
9277
10174
|
form_param_keys = [
|
9278
|
-
:comment__text_comment__,
|
9279
|
-
:submission__submission_type__,
|
9280
|
-
:submission__body__,
|
9281
|
-
:submission__url__,
|
9282
|
-
:submission__file_ids__,
|
9283
|
-
:submission__media_comment_id__,
|
9284
|
-
:submission__media_comment_type__,
|
9285
10175
|
|
9286
10176
|
]
|
9287
10177
|
|
9288
10178
|
# verify existence of params
|
9289
10179
|
raise "course_id is required" if course_id.nil?
|
9290
10180
|
raise "assignment_id is required" if assignment_id.nil?
|
9291
|
-
raise "
|
9292
|
-
raise "submission__submission_type__ is required" if submission__submission_type__.nil?
|
9293
|
-
raise "submission__body__ is required" if submission__body__.nil?
|
9294
|
-
raise "submission__url__ is required" if submission__url__.nil?
|
9295
|
-
raise "submission__file_ids__ is required" if submission__file_ids__.nil?
|
9296
|
-
raise "submission__media_comment_id__ is required" if submission__media_comment_id__.nil?
|
9297
|
-
raise "submission__media_comment_type__ is required" if submission__media_comment_type__.nil?
|
10181
|
+
raise "user_id is required" if user_id.nil?
|
9298
10182
|
# set default values and merge with input
|
9299
10183
|
options = underscored_merge_opts(opts,
|
9300
10184
|
:course_id => course_id,
|
9301
10185
|
:assignment_id => assignment_id,
|
9302
|
-
:
|
9303
|
-
:submission__submission_type__ => submission__submission_type__,
|
9304
|
-
:submission__body__ => submission__body__,
|
9305
|
-
:submission__url__ => submission__url__,
|
9306
|
-
:submission__file_ids__ => submission__file_ids__,
|
9307
|
-
:submission__media_comment_id__ => submission__media_comment_id__,
|
9308
|
-
:submission__media_comment_type__ => submission__media_comment_type__
|
10186
|
+
:user_id => user_id
|
9309
10187
|
)
|
9310
10188
|
|
9311
10189
|
# resource path
|
9312
|
-
path = path_replace("/v1/courses/{course_id}/assignments/{assignment_id}/submissions",
|
10190
|
+
path = path_replace("/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}/comments/files",
|
9313
10191
|
:course_id => course_id,
|
9314
|
-
:assignment_id => assignment_id
|
10192
|
+
:assignment_id => assignment_id,
|
10193
|
+
:user_id => user_id)
|
9315
10194
|
headers = nil
|
9316
10195
|
form_params = select_params(options, form_param_keys)
|
9317
10196
|
query_params = select_params(options, query_param_keys)
|
@@ -9488,6 +10367,7 @@ module Pandarus
|
|
9488
10367
|
:comment__group_comment__,
|
9489
10368
|
:comment__media_comment_id__,
|
9490
10369
|
:comment__media_comment_type__,
|
10370
|
+
:comment__file_ids__,
|
9491
10371
|
:submission__posted_grade__,
|
9492
10372
|
:rubric_assessment,
|
9493
10373
|
|
@@ -9605,7 +10485,8 @@ module Pandarus
|
|
9605
10485
|
|
9606
10486
|
# set default values and merge with input
|
9607
10487
|
options = underscored_merge_opts(opts,
|
9608
|
-
|
10488
|
+
{}
|
10489
|
+
|
9609
10490
|
)
|
9610
10491
|
|
9611
10492
|
# resource path
|
@@ -9634,7 +10515,8 @@ module Pandarus
|
|
9634
10515
|
|
9635
10516
|
# set default values and merge with input
|
9636
10517
|
options = underscored_merge_opts(opts,
|
9637
|
-
|
10518
|
+
{}
|
10519
|
+
|
9638
10520
|
)
|
9639
10521
|
|
9640
10522
|
# resource path
|
@@ -9663,7 +10545,8 @@ module Pandarus
|
|
9663
10545
|
|
9664
10546
|
# set default values and merge with input
|
9665
10547
|
options = underscored_merge_opts(opts,
|
9666
|
-
|
10548
|
+
{}
|
10549
|
+
|
9667
10550
|
)
|
9668
10551
|
|
9669
10552
|
# resource path
|
@@ -9692,7 +10575,8 @@ module Pandarus
|
|
9692
10575
|
|
9693
10576
|
# set default values and merge with input
|
9694
10577
|
options = underscored_merge_opts(opts,
|
9695
|
-
|
10578
|
+
{}
|
10579
|
+
|
9696
10580
|
)
|
9697
10581
|
|
9698
10582
|
# resource path
|
@@ -9752,7 +10636,8 @@ module Pandarus
|
|
9752
10636
|
|
9753
10637
|
# set default values and merge with input
|
9754
10638
|
options = underscored_merge_opts(opts,
|
9755
|
-
|
10639
|
+
{}
|
10640
|
+
|
9756
10641
|
)
|
9757
10642
|
|
9758
10643
|
# resource path
|