oneroster 2.3.9 → 2.3.10

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: 40d5e334a53e3d8a02137968318000bdaf7604a02a54291b7fd334552893ec5d
4
- data.tar.gz: 94a198a0065ce9c615824acf25f4326fe7159b9a87b397aca640a48df6c3df81
3
+ metadata.gz: 231447994bb3bfc7fbb87334a6888270cbb99ef0e1b1a23438411a30ae7f4085
4
+ data.tar.gz: c03f5c959ffc3d5244bc82cbc8f969617443561efd0fdbeb0f6e04f4f14875de
5
5
  SHA512:
6
- metadata.gz: 2528744a79bf3570e061d9c6c1f81345428be201f9d6b1dd79bfa649ea5b55f6a010f575df8e29ff944ed172be6a5a2983aaad95233ba687844aad88df45ea46
7
- data.tar.gz: dc653c3c64ed67ed9546b9be9ba6e00b104829656fcde796d6be43a37c731de6eaaaa1ab50adf361f8bfb5fd28f30dd910eb8286d1bb5a087e2dc4ad0de6b852
6
+ metadata.gz: 02a8a15a2a483fb1dace9bfca0aa004201f91feed8fa2cff442d079333fb016b11656ab27e6ff814f0858bafaadc53cc1dc6f2656c5f47c36fe74d2dd36a68e6
7
+ data.tar.gz: a89ceb563113c819edc848960b761dfc8ae055da5fa69236be84e0d364a238d2b46b9365dae78f2bc26ba17531a2375718b9160c04ffadc38a6819501238c947
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- oneroster (2.3.9)
4
+ oneroster (2.3.10)
5
5
  dry-inflector
6
6
  faraday
7
7
  faraday_middleware
@@ -36,6 +36,17 @@ module OneRoster
36
36
  end
37
37
  end
38
38
 
39
+ def admins(record_uids = [])
40
+ authenticate
41
+
42
+ records = Paginator.fetch(connection, ADMINS_ENDPOINT, :get, Admin, client: self).force
43
+
44
+ return records if record_uids.empty?
45
+
46
+ record_uids_set = record_uids.to_set
47
+ records.select { |record| record_uids_set.include?(record.uid) }
48
+ end
49
+
39
50
  def classrooms(course_codes = [])
40
51
  authenticate
41
52
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OneRoster
4
- VERSION = '2.3.9'
4
+ VERSION = '2.3.10'
5
5
  end
data/lib/one_roster.rb CHANGED
@@ -29,17 +29,19 @@ module OneRoster
29
29
 
30
30
  STUDENTS_ENDPOINT = 'ims/oneroster/v1p1/students'
31
31
  TEACHERS_ENDPOINT = 'ims/oneroster/v1p1/teachers'
32
+ ADMINS_ENDPOINT = "ims/oneroster/v1p1/users?filter=role='administrator'"
32
33
  COURSES_ENDPOINT = 'ims/oneroster/v1p1/courses'
33
34
  CLASSES_ENDPOINT = 'ims/oneroster/v1p1/classes'
34
35
  ENROLLMENTS_ENDPOINT = 'ims/oneroster/v1p1/enrollments'
35
36
  ACADEMIC_SESSIONS_ENDPOINT = 'ims/oneroster/v1p1/academicSessions'
36
37
 
37
38
  RESPONSE_TYPE_MAP = {
38
- 'teachers' => 'users',
39
- 'academicSessions' => 'academicSessions',
40
- 'students' => 'users',
41
- 'courses' => 'courses',
42
- 'classes' => 'classes',
43
- 'enrollments' => 'enrollments'
39
+ 'users' => 'users',
40
+ 'teachers' => 'users',
41
+ 'students' => 'users',
42
+ 'academicSessions' => 'academicSessions',
43
+ 'courses' => 'courses',
44
+ 'classes' => 'classes',
45
+ 'enrollments' => 'enrollments'
44
46
  }.freeze
45
47
  end
@@ -0,0 +1,16 @@
1
+ module OneRoster
2
+ module Types
3
+ class Admin < Teacher
4
+ def initialize(attributes = {}, *, client: nil)
5
+ @uid = attributes['sourcedId']
6
+ @email = attributes['email']
7
+ @first_name = attributes['givenName']
8
+ @last_name = attributes['familyName']
9
+ @api_username = attributes['username']
10
+ @username = username(client)
11
+ @provider = 'oneroster'
12
+ @role = 'admin'
13
+ end
14
+ end
15
+ end
16
+ end
data/lib/types/teacher.rb CHANGED
@@ -17,6 +17,7 @@ module OneRoster
17
17
  @api_username = attributes['username']
18
18
  @username = username(client)
19
19
  @provider = 'oneroster'
20
+ @role = 'teacher'
20
21
  end
21
22
 
22
23
  def username(client = nil)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oneroster
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.9
4
+ version: 2.3.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Julius
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-09-19 00:00:00.000000000 Z
11
+ date: 2023-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -235,6 +235,7 @@ files:
235
235
  - lib/one_roster/paginator.rb
236
236
  - lib/one_roster/response.rb
237
237
  - lib/one_roster/version.rb
238
+ - lib/types/admin.rb
238
239
  - lib/types/application.rb
239
240
  - lib/types/base.rb
240
241
  - lib/types/class.rb