oneroster 2.3.9 → 2.3.10

Sign up to get free protection for your applications and to get access to all the features.
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