google-apis-classroom_v1 0.40.0 → 0.41.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 939679ebe7b35e2acf30d20828fda005b29a00ed51d45c36b557373a1250c5f2
4
- data.tar.gz: 5ac66b1a89b74d725dac2cea1770efb8cfcf7b9c44a342ff4476d3615444a3c0
3
+ metadata.gz: 8db0766b72466da3c27b6432f2305a036c0275a236792feb7ee6ea4f19b188f6
4
+ data.tar.gz: 5fef930dbb1456cd695086fb1b39bbb6a04d944f48779bd0c9bb0442c238ca26
5
5
  SHA512:
6
- metadata.gz: 0b00dcba5bbe6f176d42ee4c8b0f86172f7ffc0702116cb826c884598301f30ec3f62594c514016d156c8062e462a0335477dd5977f4f819f9da44acf152b5c8
7
- data.tar.gz: 8c5b23415d005743a6eda16185f0b93abf5ac4608bf7224fcafc9b3f02753207191705d44d71e2796bf1b6a666529611bd2beef6096c3ceffd448c1e44d586f5
6
+ metadata.gz: 16c140ad754e7dc44cdac9c7b080c9fc9aec8f0f15c592f51e081408dd8fe343f0a9ea15c85d1b10f290d52a45e0d50c267e6d6c744f8fec8d5f2688981908aa
7
+ data.tar.gz: ddd22200f2eb48e3623ccd5a303179b4ff7fcf9f5b5bd38d7f1b39f851d2a7665548f786900fbc6fc0118dd1fe5ebba9919eb647909e4767cbadbf4e758051ba
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Release history for google-apis-classroom_v1
2
2
 
3
+ ### v0.41.0 (2025-04-06)
4
+
5
+ * Regenerated from discovery document revision 20250331
6
+
3
7
  ### v0.40.0 (2025-03-09)
4
8
 
5
9
  * Regenerated from discovery document revision 20250303
@@ -781,6 +781,15 @@ module Google
781
781
  # @return [Google::Apis::ClassroomV1::GradeCategory]
782
782
  attr_accessor :grade_category
783
783
 
784
+ # Identifier of the grading period associated with the coursework. * At creation,
785
+ # if unspecified, the grading period ID will be set based on the `dueDate` (or `
786
+ # scheduledTime` if no `dueDate` is set). * To indicate no association to any
787
+ # grading period, set this field to an empty string (""). * If specified, it
788
+ # must match an existing grading period ID in the course.
789
+ # Corresponds to the JSON property `gradingPeriodId`
790
+ # @return [String]
791
+ attr_accessor :grading_period_id
792
+
784
793
  # Classroom-assigned identifier of this course work, unique per course. Read-
785
794
  # only.
786
795
  # Corresponds to the JSON property `id`
@@ -865,6 +874,7 @@ module Google
865
874
  @due_date = args[:due_date] if args.key?(:due_date)
866
875
  @due_time = args[:due_time] if args.key?(:due_time)
867
876
  @grade_category = args[:grade_category] if args.key?(:grade_category)
877
+ @grading_period_id = args[:grading_period_id] if args.key?(:grading_period_id)
868
878
  @id = args[:id] if args.key?(:id)
869
879
  @individual_students_options = args[:individual_students_options] if args.key?(:individual_students_options)
870
880
  @materials = args[:materials] if args.key?(:materials)
@@ -1396,6 +1406,93 @@ module Google
1396
1406
  end
1397
1407
  end
1398
1408
 
1409
+ # An individual grading period. Grading periods must not have overlapping date
1410
+ # ranges and must be listed in chronological order. For example, if the end_date
1411
+ # of a grading period is 2024-01-25, then the start_date of the next grading
1412
+ # period must be 2024-01-26 or later. Each grading period must have a unique
1413
+ # title within a course.
1414
+ class GradingPeriod
1415
+ include Google::Apis::Core::Hashable
1416
+
1417
+ # Represents a whole or partial calendar date, such as a birthday. The time of
1418
+ # day and time zone are either specified elsewhere or are insignificant. The
1419
+ # date is relative to the Gregorian Calendar. This can represent one of the
1420
+ # following: * A full date, with non-zero year, month, and day values. * A month
1421
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
1422
+ # with a zero month and a zero day. * A year and month, with a zero day (for
1423
+ # example, a credit card expiration date). Related types: * google.type.
1424
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
1425
+ # Corresponds to the JSON property `endDate`
1426
+ # @return [Google::Apis::ClassroomV1::Date]
1427
+ attr_accessor :end_date
1428
+
1429
+ # Output only. System generated grading period ID. Read-only.
1430
+ # Corresponds to the JSON property `id`
1431
+ # @return [String]
1432
+ attr_accessor :id
1433
+
1434
+ # Represents a whole or partial calendar date, such as a birthday. The time of
1435
+ # day and time zone are either specified elsewhere or are insignificant. The
1436
+ # date is relative to the Gregorian Calendar. This can represent one of the
1437
+ # following: * A full date, with non-zero year, month, and day values. * A month
1438
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
1439
+ # with a zero month and a zero day. * A year and month, with a zero day (for
1440
+ # example, a credit card expiration date). Related types: * google.type.
1441
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
1442
+ # Corresponds to the JSON property `startDate`
1443
+ # @return [Google::Apis::ClassroomV1::Date]
1444
+ attr_accessor :start_date
1445
+
1446
+ # Required. Title of the grading period. For example, “Semester 1”.
1447
+ # Corresponds to the JSON property `title`
1448
+ # @return [String]
1449
+ attr_accessor :title
1450
+
1451
+ def initialize(**args)
1452
+ update!(**args)
1453
+ end
1454
+
1455
+ # Update properties of this object
1456
+ def update!(**args)
1457
+ @end_date = args[:end_date] if args.key?(:end_date)
1458
+ @id = args[:id] if args.key?(:id)
1459
+ @start_date = args[:start_date] if args.key?(:start_date)
1460
+ @title = args[:title] if args.key?(:title)
1461
+ end
1462
+ end
1463
+
1464
+ # Grading period settings that include all the individual grading periods in a
1465
+ # course.
1466
+ class GradingPeriodSettings
1467
+ include Google::Apis::Core::Hashable
1468
+
1469
+ # Supports toggling the application of grading periods on existing stream items.
1470
+ # Once set, this value is persisted meaning that it does not need to be set in
1471
+ # every request to update `GradingPeriodSettings`. If not previously set, the
1472
+ # default is False.
1473
+ # Corresponds to the JSON property `applyToExistingCoursework`
1474
+ # @return [Boolean]
1475
+ attr_accessor :apply_to_existing_coursework
1476
+ alias_method :apply_to_existing_coursework?, :apply_to_existing_coursework
1477
+
1478
+ # The list of grading periods in a specific course. Grading periods must not
1479
+ # have overlapping date ranges and must be listed in chronological order. Each
1480
+ # grading period must have a unique title within a course.
1481
+ # Corresponds to the JSON property `gradingPeriods`
1482
+ # @return [Array<Google::Apis::ClassroomV1::GradingPeriod>]
1483
+ attr_accessor :grading_periods
1484
+
1485
+ def initialize(**args)
1486
+ update!(**args)
1487
+ end
1488
+
1489
+ # Update properties of this object
1490
+ def update!(**args)
1491
+ @apply_to_existing_coursework = args[:apply_to_existing_coursework] if args.key?(:apply_to_existing_coursework)
1492
+ @grading_periods = args[:grading_periods] if args.key?(:grading_periods)
1493
+ end
1494
+ end
1495
+
1399
1496
  # Association between a student and a guardian of that student. The guardian may
1400
1497
  # receive information about the student's course work.
1401
1498
  class Guardian
@@ -16,13 +16,13 @@ module Google
16
16
  module Apis
17
17
  module ClassroomV1
18
18
  # Version of the google-apis-classroom_v1 gem
19
- GEM_VERSION = "0.40.0"
19
+ GEM_VERSION = "0.41.0"
20
20
 
21
21
  # Version of the code generator used to generate this client
22
22
  GENERATOR_VERSION = "0.16.0"
23
23
 
24
24
  # Revision of the discovery document this client was generated from
25
- REVISION = "20250303"
25
+ REVISION = "20250331"
26
26
  end
27
27
  end
28
28
  end
@@ -196,6 +196,18 @@ module Google
196
196
  include Google::Apis::Core::JsonObjectSupport
197
197
  end
198
198
 
199
+ class GradingPeriod
200
+ class Representation < Google::Apis::Core::JsonRepresentation; end
201
+
202
+ include Google::Apis::Core::JsonObjectSupport
203
+ end
204
+
205
+ class GradingPeriodSettings
206
+ class Representation < Google::Apis::Core::JsonRepresentation; end
207
+
208
+ include Google::Apis::Core::JsonObjectSupport
209
+ end
210
+
199
211
  class Guardian
200
212
  class Representation < Google::Apis::Core::JsonRepresentation; end
201
213
 
@@ -674,6 +686,7 @@ module Google
674
686
 
675
687
  property :grade_category, as: 'gradeCategory', class: Google::Apis::ClassroomV1::GradeCategory, decorator: Google::Apis::ClassroomV1::GradeCategory::Representation
676
688
 
689
+ property :grading_period_id, as: 'gradingPeriodId'
677
690
  property :id, as: 'id'
678
691
  property :individual_students_options, as: 'individualStudentsOptions', class: Google::Apis::ClassroomV1::IndividualStudentsOptions, decorator: Google::Apis::ClassroomV1::IndividualStudentsOptions::Representation
679
692
 
@@ -832,6 +845,27 @@ module Google
832
845
  end
833
846
  end
834
847
 
848
+ class GradingPeriod
849
+ # @private
850
+ class Representation < Google::Apis::Core::JsonRepresentation
851
+ property :end_date, as: 'endDate', class: Google::Apis::ClassroomV1::Date, decorator: Google::Apis::ClassroomV1::Date::Representation
852
+
853
+ property :id, as: 'id'
854
+ property :start_date, as: 'startDate', class: Google::Apis::ClassroomV1::Date, decorator: Google::Apis::ClassroomV1::Date::Representation
855
+
856
+ property :title, as: 'title'
857
+ end
858
+ end
859
+
860
+ class GradingPeriodSettings
861
+ # @private
862
+ class Representation < Google::Apis::Core::JsonRepresentation
863
+ property :apply_to_existing_coursework, as: 'applyToExistingCoursework'
864
+ collection :grading_periods, as: 'gradingPeriods', class: Google::Apis::ClassroomV1::GradingPeriod, decorator: Google::Apis::ClassroomV1::GradingPeriod::Representation
865
+
866
+ end
867
+ end
868
+
835
869
  class Guardian
836
870
  # @private
837
871
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -158,6 +158,39 @@ module Google
158
158
  execute_or_queue_command(command, &block)
159
159
  end
160
160
 
161
+ # Returns the grading period settings in a course. This method returns the
162
+ # following error codes: * `PERMISSION_DENIED` if the requesting user isn't
163
+ # permitted to access the grading period settings in the requested course or for
164
+ # access errors. * `NOT_FOUND` if the requested course does not exist.
165
+ # @param [String] course_id
166
+ # Required. The identifier of the course.
167
+ # @param [String] fields
168
+ # Selector specifying which fields to include in a partial response.
169
+ # @param [String] quota_user
170
+ # Available to use for quota purposes for server-side applications. Can be any
171
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
172
+ # @param [Google::Apis::RequestOptions] options
173
+ # Request-specific options
174
+ #
175
+ # @yield [result, err] Result & error if block supplied
176
+ # @yieldparam result [Google::Apis::ClassroomV1::GradingPeriodSettings] parsed result object
177
+ # @yieldparam err [StandardError] error object if request failed
178
+ #
179
+ # @return [Google::Apis::ClassroomV1::GradingPeriodSettings]
180
+ #
181
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
182
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
183
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
184
+ def get_course_grading_period_settings(course_id, fields: nil, quota_user: nil, options: nil, &block)
185
+ command = make_simple_command(:get, 'v1/courses/{courseId}/gradingPeriodSettings', options)
186
+ command.response_representation = Google::Apis::ClassroomV1::GradingPeriodSettings::Representation
187
+ command.response_class = Google::Apis::ClassroomV1::GradingPeriodSettings
188
+ command.params['courseId'] = course_id unless course_id.nil?
189
+ command.query['fields'] = fields unless fields.nil?
190
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
191
+ execute_or_queue_command(command, &block)
192
+ end
193
+
161
194
  # Returns a list of courses that the requesting user is permitted to view,
162
195
  # restricted to those that match the request. Returned courses are ordered by
163
196
  # creation time, with the most recently created coming first. This method
@@ -303,6 +336,59 @@ module Google
303
336
  execute_or_queue_command(command, &block)
304
337
  end
305
338
 
339
+ # Updates grading period settings of a course. Individual grading periods can be
340
+ # added, removed, or modified using this method. The requesting user and course
341
+ # owner must be eligible to modify Grading Periods. For details, see [licensing
342
+ # requirements](https://developers.google.com/classroom/grading-periods/manage-
343
+ # grading-periods#licensing_requirements). This method returns the following
344
+ # error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to
345
+ # modify the grading period settings in a course or for access errors: *
346
+ # UserIneligibleToUpdateGradingPeriodSettings * `INVALID_ARGUMENT` if the
347
+ # request is malformed. * `NOT_FOUND` if the requested course does not exist.
348
+ # @param [String] course_id
349
+ # Required. The identifier of the course.
350
+ # @param [Google::Apis::ClassroomV1::GradingPeriodSettings] grading_period_settings_object
351
+ # @param [String] update_mask
352
+ # Mask that identifies which fields in the GradingPeriodSettings to update. The
353
+ # GradingPeriodSettings `grading_periods` list will be fully replaced by the
354
+ # grading periods specified in the update request. For example: * Grading
355
+ # periods included in the list without an ID are considered additions, and a new
356
+ # ID will be assigned when the request is made. * Grading periods that currently
357
+ # exist, but are missing from the request will be considered deletions. *
358
+ # Grading periods with an existing ID and modified data are considered edits.
359
+ # Unmodified data will be left as is. * Grading periods included with an unknown
360
+ # ID will result in an error. The following fields may be specified: * `
361
+ # grading_periods` * `apply_to_existing_coursework`
362
+ # @param [String] fields
363
+ # Selector specifying which fields to include in a partial response.
364
+ # @param [String] quota_user
365
+ # Available to use for quota purposes for server-side applications. Can be any
366
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
367
+ # @param [Google::Apis::RequestOptions] options
368
+ # Request-specific options
369
+ #
370
+ # @yield [result, err] Result & error if block supplied
371
+ # @yieldparam result [Google::Apis::ClassroomV1::GradingPeriodSettings] parsed result object
372
+ # @yieldparam err [StandardError] error object if request failed
373
+ #
374
+ # @return [Google::Apis::ClassroomV1::GradingPeriodSettings]
375
+ #
376
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
377
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
378
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
379
+ def update_course_grading_period_settings(course_id, grading_period_settings_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
380
+ command = make_simple_command(:patch, 'v1/courses/{courseId}/gradingPeriodSettings', options)
381
+ command.request_representation = Google::Apis::ClassroomV1::GradingPeriodSettings::Representation
382
+ command.request_object = grading_period_settings_object
383
+ command.response_representation = Google::Apis::ClassroomV1::GradingPeriodSettings::Representation
384
+ command.response_class = Google::Apis::ClassroomV1::GradingPeriodSettings
385
+ command.params['courseId'] = course_id unless course_id.nil?
386
+ command.query['updateMask'] = update_mask unless update_mask.nil?
387
+ command.query['fields'] = fields unless fields.nil?
388
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
389
+ execute_or_queue_command(command, &block)
390
+ end
391
+
306
392
  # Creates an alias for a course. This method returns the following error codes: *
307
393
  # `PERMISSION_DENIED` if the requesting user is not permitted to create the
308
394
  # alias or for access errors. * `NOT_FOUND` if the course does not exist. * `
@@ -1310,9 +1396,7 @@ module Google
1310
1396
  # CourseWork` object, an `INVALID_ARGUMENT` error is returned. The following
1311
1397
  # fields may be specified by teachers: * `title` * `description` * `state` * `
1312
1398
  # due_date` * `due_time` * `max_points` * `scheduled_time` * `
1313
- # submission_modification_mode` * `topic_id` * `grading_period_id` Available in [
1314
- # V1_20240401_PREVIEW](https://developers.google.com/classroom/reference/preview)
1315
- # and later.
1399
+ # submission_modification_mode` * `topic_id` * `grading_period_id`
1316
1400
  # @param [String] fields
1317
1401
  # Selector specifying which fields to include in a partial response.
1318
1402
  # @param [String] quota_user
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-apis-classroom_v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.40.0
4
+ version: 0.41.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-03-09 00:00:00.000000000 Z
10
+ date: 2025-04-16 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: google-apis-core
@@ -57,7 +57,7 @@ licenses:
57
57
  metadata:
58
58
  bug_tracker_uri: https://github.com/googleapis/google-api-ruby-client/issues
59
59
  changelog_uri: https://github.com/googleapis/google-api-ruby-client/tree/main/generated/google-apis-classroom_v1/CHANGELOG.md
60
- documentation_uri: https://googleapis.dev/ruby/google-apis-classroom_v1/v0.40.0
60
+ documentation_uri: https://googleapis.dev/ruby/google-apis-classroom_v1/v0.41.0
61
61
  source_code_uri: https://github.com/googleapis/google-api-ruby-client/tree/main/generated/google-apis-classroom_v1
62
62
  rdoc_options: []
63
63
  require_paths: