campus_ivy 0.1.1 → 1.0.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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +35 -0
  3. data/CHANGELOG.md +35 -0
  4. data/Rakefile +2 -2
  5. data/lib/campus_ivy/client.rb +190 -0
  6. data/lib/campus_ivy/object.rb +1 -1
  7. data/lib/campus_ivy/resources/attendance.rb +85 -0
  8. data/lib/campus_ivy/resources/award_and_disbursement_transmission.rb +30 -0
  9. data/lib/campus_ivy/resources/cod_log.rb +42 -0
  10. data/lib/campus_ivy/resources/cod_response_ec.rb +39 -0
  11. data/lib/campus_ivy/resources/cod_response_pn.rb +39 -0
  12. data/lib/campus_ivy/resources/cod_response_sp.rb +39 -0
  13. data/lib/campus_ivy/resources/disbursement_batch_detail.rb +36 -0
  14. data/lib/campus_ivy/resources/document_analysis.rb +39 -0
  15. data/lib/campus_ivy/resources/document_inventory.rb +36 -0
  16. data/lib/campus_ivy/resources/document_status.rb +30 -0
  17. data/lib/campus_ivy/resources/functional_area_task.rb +42 -0
  18. data/lib/campus_ivy/resources/health.rb +27 -0
  19. data/lib/campus_ivy/resources/institution_breaks_by_shift.rb +30 -0
  20. data/lib/campus_ivy/resources/net_price_calculator.rb +42 -0
  21. data/lib/campus_ivy/resources/note_type.rb +20 -0
  22. data/lib/campus_ivy/resources/packaging.rb +88 -0
  23. data/lib/campus_ivy/resources/pay_list_analysis.rb +57 -0
  24. data/lib/campus_ivy/resources/registered_student.rb +84 -0
  25. data/lib/campus_ivy/resources/service_type.rb +20 -0
  26. data/lib/campus_ivy/resources/student_award_transmission_log.rb +69 -0
  27. data/lib/campus_ivy/resources/student_awards.rb +45 -0
  28. data/lib/campus_ivy/resources/student_disbursement_transmission_log.rb +48 -0
  29. data/lib/campus_ivy/resources/student_document.rb +108 -0
  30. data/lib/campus_ivy/resources/student_document_history.rb +39 -0
  31. data/lib/campus_ivy/resources/student_document_tags.rb +36 -0
  32. data/lib/campus_ivy/resources/student_fa_progression.rb +60 -0
  33. data/lib/campus_ivy/resources/student_funding_detail.rb +66 -0
  34. data/lib/campus_ivy/resources/student_funding_estimate.rb +39 -0
  35. data/lib/campus_ivy/resources/student_isir.rb +75 -0
  36. data/lib/campus_ivy/resources/student_note.rb +72 -0
  37. data/lib/campus_ivy/resources/student_r2t4.rb +39 -0
  38. data/lib/campus_ivy/resources/student_reference.rb +75 -0
  39. data/lib/campus_ivy/resources/student_remaining_balance.rb +36 -0
  40. data/lib/campus_ivy/resources/student_selected_isir.rb +39 -0
  41. data/lib/campus_ivy/resources/user_login_option.rb +36 -0
  42. data/lib/campus_ivy/resources/user_notification.rb +48 -0
  43. data/lib/campus_ivy/resources/user_profile.rb +36 -0
  44. data/lib/campus_ivy/resources/user_role.rb +58 -0
  45. data/lib/campus_ivy/version.rb +1 -1
  46. data/lib/campus_ivy.rb +38 -0
  47. metadata +41 -1
@@ -0,0 +1,108 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CampusIvy
4
+ module Resources
5
+ class StudentDocument
6
+ extend T::Sig
7
+
8
+ sig { params(client: CampusIvy::Client).void }
9
+ def initialize(client)
10
+ @client = client
11
+ end
12
+
13
+ sig do
14
+ params(
15
+ institution_student_id: T.nilable(Integer),
16
+ student_id_list: T.nilable(String),
17
+ student_document_id: T.nilable(Integer),
18
+ document_status_id: T.nilable(Integer),
19
+ start_date: T.nilable(String),
20
+ end_date: T.nilable(String),
21
+ include_blob: T.nilable(T::Boolean)
22
+ ).returns(CampusIvy::Object)
23
+ end
24
+ def list(
25
+ institution_student_id: nil,
26
+ student_id_list: nil,
27
+ student_document_id: nil,
28
+ document_status_id: nil,
29
+ start_date: nil,
30
+ end_date: nil,
31
+ include_blob: nil
32
+ )
33
+ params = {
34
+ 'request.institutionStudentId' => institution_student_id,
35
+ 'request.studentIdList' => student_id_list,
36
+ 'request.studentDocumentId' => student_document_id,
37
+ 'request.documentStatusId' => document_status_id,
38
+ 'request.startDate' => start_date,
39
+ 'request.endDate' => end_date,
40
+ 'request.includeBlob' => include_blob
41
+ }.compact
42
+
43
+ response = @client.connection.get('StudentDocument', params)
44
+ CampusIvy::Object.new(response.body)
45
+ end
46
+
47
+ sig do
48
+ params(
49
+ students_documents: T::Array[T::Hash[Symbol, T.untyped]],
50
+ validate_records: T.nilable(T::Boolean),
51
+ process_records: T.nilable(T::Boolean),
52
+ batch_size: T.nilable(Integer),
53
+ return_result: T.nilable(T::Boolean),
54
+ response_type: T.nilable(String)
55
+ ).returns(CampusIvy::Object)
56
+ end
57
+ def import(
58
+ students_documents:,
59
+ validate_records: nil,
60
+ process_records: nil,
61
+ batch_size: nil,
62
+ return_result: nil,
63
+ response_type: nil
64
+ )
65
+ params = {
66
+ validateRecords: validate_records,
67
+ processRecords: process_records,
68
+ batchSize: batch_size,
69
+ returnResult: return_result,
70
+ responseType: response_type
71
+ }.compact
72
+
73
+ response = @client.connection.post('StudentDocument') do |req|
74
+ req.params = params
75
+ req.body = students_documents
76
+ end
77
+ CampusIvy::Object.new(response.body)
78
+ end
79
+
80
+ sig do
81
+ params(
82
+ institution_student_id: Integer,
83
+ student_document_id: Integer,
84
+ blob_search: T::Boolean
85
+ ).returns(CampusIvy::Object)
86
+ end
87
+ def search_blob(
88
+ institution_student_id:,
89
+ student_document_id:,
90
+ blob_search: true
91
+ )
92
+ params = {
93
+ 'request.institutionStudentId' => institution_student_id,
94
+ 'request.studentDocumentId' => student_document_id,
95
+ 'request.blobSearch' => blob_search
96
+ }
97
+ response = @client.connection.get('StudentDocument/Blob/Search', params)
98
+ CampusIvy::Object.new(response.body)
99
+ end
100
+
101
+ sig { params(id: Integer).returns(CampusIvy::Object) }
102
+ def status_options(id:)
103
+ response = @client.connection.get("StudentDocument/#{id}/StatusOption")
104
+ CampusIvy::Object.new(response.body)
105
+ end
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CampusIvy
4
+ module Resources
5
+ class StudentDocumentHistory
6
+ extend T::Sig
7
+
8
+ sig { params(client: CampusIvy::Client).void }
9
+ def initialize(client)
10
+ @client = client
11
+ end
12
+
13
+ sig do
14
+ params(
15
+ student_document_id: T.nilable(Integer),
16
+ student_id: T.nilable(String),
17
+ start_date: T.nilable(String),
18
+ end_date: T.nilable(String)
19
+ ).returns(CampusIvy::Object)
20
+ end
21
+ def list(
22
+ student_document_id: nil,
23
+ student_id: nil,
24
+ start_date: nil,
25
+ end_date: nil
26
+ )
27
+ params = {
28
+ 'request.studentDocumentId' => student_document_id,
29
+ 'request.studentId' => student_id,
30
+ 'request.startDate' => start_date,
31
+ 'request.endDate' => end_date
32
+ }.compact
33
+
34
+ response = @client.connection.get('StudentDocumentHistory', params)
35
+ CampusIvy::Object.new(response.body)
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CampusIvy
4
+ module Resources
5
+ class StudentDocumentTags
6
+ extend T::Sig
7
+
8
+ sig { params(client: CampusIvy::Client).void }
9
+ def initialize(client)
10
+ @client = client
11
+ end
12
+
13
+ sig do
14
+ params(
15
+ student_id: T.nilable(String),
16
+ start_date: T.nilable(String),
17
+ end_date: T.nilable(String)
18
+ ).returns(CampusIvy::Object)
19
+ end
20
+ def list(
21
+ student_id: nil,
22
+ start_date: nil,
23
+ end_date: nil
24
+ )
25
+ params = {
26
+ 'request.studentId' => student_id,
27
+ 'request.startDate' => start_date,
28
+ 'request.endDate' => end_date
29
+ }.compact
30
+
31
+ response = @client.connection.get('StudentDocumentTags', params)
32
+ CampusIvy::Object.new(response.body)
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CampusIvy
4
+ module Resources
5
+ class StudentFAProgression
6
+ extend T::Sig
7
+
8
+ sig { params(client: CampusIvy::Client).void }
9
+ def initialize(client)
10
+ @client = client
11
+ end
12
+
13
+ sig do
14
+ params(
15
+ institution_student_id: T.nilable(Integer),
16
+ student_id_list: T.nilable(String),
17
+ lead_source: T.nilable(String),
18
+ include_enrollment_update: T.nilable(T::Boolean),
19
+ include_isir_update: T.nilable(T::Boolean),
20
+ include_document_update: T.nilable(T::Boolean),
21
+ include_notification_update: T.nilable(T::Boolean),
22
+ include_funding_estimate_update: T.nilable(T::Boolean),
23
+ include_disbursement_update: T.nilable(T::Boolean),
24
+ start_date: T.nilable(String),
25
+ end_date: T.nilable(String)
26
+ ).returns(CampusIvy::Object)
27
+ end
28
+ def list(
29
+ institution_student_id: nil,
30
+ student_id_list: nil,
31
+ lead_source: nil,
32
+ include_enrollment_update: nil,
33
+ include_isir_update: nil,
34
+ include_document_update: nil,
35
+ include_notification_update: nil,
36
+ include_funding_estimate_update: nil,
37
+ include_disbursement_update: nil,
38
+ start_date: nil,
39
+ end_date: nil
40
+ )
41
+ params = {
42
+ 'request.institutionStudentId' => institution_student_id,
43
+ 'request.studentIdList' => student_id_list,
44
+ 'request.leadSource' => lead_source,
45
+ 'request.includeEnrollmentUpdate' => include_enrollment_update,
46
+ 'request.includeISIRUpdate' => include_isir_update,
47
+ 'request.includeDocumentUpdate' => include_document_update,
48
+ 'request.includeNotificationUpdate' => include_notification_update,
49
+ 'request.includeFundingEstimateUpdate' => include_funding_estimate_update,
50
+ 'request.includeDisbursementUpdate' => include_disbursement_update,
51
+ 'request.startDate' => start_date,
52
+ 'request.endDate' => end_date
53
+ }.compact
54
+
55
+ response = @client.connection.get('StudentFAProgression', params)
56
+ CampusIvy::Object.new(response.body)
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CampusIvy
4
+ module Resources
5
+ class StudentFundingDetail
6
+ extend T::Sig
7
+
8
+ sig { params(client: CampusIvy::Client).void }
9
+ def initialize(client)
10
+ @client = client
11
+ end
12
+
13
+ sig do
14
+ params(
15
+ cutoff_date: String,
16
+ disbursement_date_start: String,
17
+ disbursement_date_end: String,
18
+ award_date_start: String,
19
+ award_date_end: String,
20
+ institution_student_id: T.nilable(Integer),
21
+ award_year_id_list: T.nilable(String),
22
+ fund_type_id_list: T.nilable(String),
23
+ institution_fund_type_id_list: T.nilable(String),
24
+ institution_entity_location_id_list: T.nilable(String),
25
+ institution_entity_id_list: T.nilable(String),
26
+ institution_student_disbursement_status_id_list: T.nilable(String),
27
+ institution_enrollment_status_id_list: T.nilable(String)
28
+ ).returns(CampusIvy::Object)
29
+ end
30
+ def list(
31
+ cutoff_date:,
32
+ disbursement_date_start:,
33
+ disbursement_date_end:,
34
+ award_date_start:,
35
+ award_date_end:,
36
+ institution_student_id: nil,
37
+ award_year_id_list: nil,
38
+ fund_type_id_list: nil,
39
+ institution_fund_type_id_list: nil,
40
+ institution_entity_location_id_list: nil,
41
+ institution_entity_id_list: nil,
42
+ institution_student_disbursement_status_id_list: nil,
43
+ institution_enrollment_status_id_list: nil
44
+ )
45
+ params = {
46
+ 'request.cutOffDate' => cutoff_date,
47
+ 'request.disbursementDate_Start' => disbursement_date_start,
48
+ 'request.disbursementDate_End' => disbursement_date_end,
49
+ 'request.awardDate_Start' => award_date_start,
50
+ 'request.awardDate_End' => award_date_end,
51
+ 'request.institutionStudentId' => institution_student_id,
52
+ 'request.awardYearIdList' => award_year_id_list,
53
+ 'request.fundTypeIdList' => fund_type_id_list,
54
+ 'request.institutionFundTypeIdList' => institution_fund_type_id_list,
55
+ 'request.institutionEntityLocationIdList' => institution_entity_location_id_list,
56
+ 'request.institutionEntityIdList' => institution_entity_id_list,
57
+ 'request.institutionStudentDisbursementStatusIdList' => institution_student_disbursement_status_id_list,
58
+ 'request.institutionEnrollmentStatusIdList' => institution_enrollment_status_id_list
59
+ }.compact
60
+
61
+ response = @client.connection.get('StudentFundingDetail', params)
62
+ CampusIvy::Object.new(response.body)
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CampusIvy
4
+ module Resources
5
+ class StudentFundingEstimate
6
+ extend T::Sig
7
+
8
+ sig { params(client: CampusIvy::Client).void }
9
+ def initialize(client)
10
+ @client = client
11
+ end
12
+
13
+ sig do
14
+ params(
15
+ institution_student_id: T.nilable(Integer),
16
+ student_id_list: T.nilable(String),
17
+ start_date: T.nilable(String),
18
+ end_date: T.nilable(String)
19
+ ).returns(CampusIvy::Object)
20
+ end
21
+ def list(
22
+ institution_student_id: nil,
23
+ student_id_list: nil,
24
+ start_date: nil,
25
+ end_date: nil
26
+ )
27
+ params = {
28
+ 'request.institutionStudentId' => institution_student_id,
29
+ 'request.studentIdList' => student_id_list,
30
+ 'request.startDate' => start_date,
31
+ 'request.endDate' => end_date
32
+ }.compact
33
+
34
+ response = @client.connection.get('StudentFundingEstimate', params)
35
+ CampusIvy::Object.new(response.body)
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CampusIvy
4
+ module Resources
5
+ class StudentISIR
6
+ extend T::Sig
7
+
8
+ sig { params(client: CampusIvy::Client).void }
9
+ def initialize(client)
10
+ @client = client
11
+ end
12
+
13
+ sig do
14
+ params(
15
+ institution_student_id: T.nilable(Integer),
16
+ student_id_list: T.nilable(String),
17
+ start_date: T.nilable(String),
18
+ end_date: T.nilable(String)
19
+ ).returns(CampusIvy::Object)
20
+ end
21
+ def list(
22
+ institution_student_id: nil,
23
+ student_id_list: nil,
24
+ start_date: nil,
25
+ end_date: nil
26
+ )
27
+ params = {
28
+ 'request.institutionStudentId' => institution_student_id,
29
+ 'request.studentIdList' => student_id_list,
30
+ 'request.startDate' => start_date,
31
+ 'request.endDate' => end_date
32
+ }.compact
33
+
34
+ response = @client.connection.get('StudentISIR', params)
35
+ CampusIvy::Object.new(response.body)
36
+ end
37
+
38
+ sig { params(institution_isir_id: Integer).returns(CampusIvy::Object) }
39
+ def verification_request(institution_isir_id:)
40
+ params = {
41
+ 'institutionISIRId' => institution_isir_id
42
+ }
43
+ response = @client.connection.get('studentisir/verification-request', params)
44
+ CampusIvy::Object.new(response.body)
45
+ end
46
+
47
+ sig do
48
+ params(
49
+ institution_isir_id: Integer,
50
+ is_documents_cleared: T.nilable(T::Boolean),
51
+ is_isir_cleared: T.nilable(T::Boolean),
52
+ processing_status_id: T.nilable(String)
53
+ ).returns(CampusIvy::Object)
54
+ end
55
+ def update_status(
56
+ institution_isir_id:,
57
+ is_documents_cleared: nil,
58
+ is_isir_cleared: nil,
59
+ processing_status_id: nil
60
+ )
61
+ payload = {
62
+ InstitutionISIRId: institution_isir_id,
63
+ IsDocumentsCleared: is_documents_cleared,
64
+ IsISIRCleared: is_isir_cleared,
65
+ ProcessingStatusId: processing_status_id
66
+ }.compact
67
+
68
+ response = @client.connection.post('UpdateStudentISIRStatus') do |req|
69
+ req.body = payload
70
+ end
71
+ CampusIvy::Object.new(response.body)
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CampusIvy
4
+ module Resources
5
+ class StudentNote
6
+ extend T::Sig
7
+
8
+ sig { params(client: CampusIvy::Client).void }
9
+ def initialize(client)
10
+ @client = client
11
+ end
12
+
13
+ sig do
14
+ params(
15
+ institution_student_id: T.nilable(Integer),
16
+ student_id_list: T.nilable(String),
17
+ student_note_id: T.nilable(Integer),
18
+ note_type_id: T.nilable(Integer),
19
+ start_date: T.nilable(String),
20
+ end_date: T.nilable(String)
21
+ ).returns(CampusIvy::Object)
22
+ end
23
+ def list(
24
+ institution_student_id: nil,
25
+ student_id_list: nil,
26
+ student_note_id: nil,
27
+ note_type_id: nil,
28
+ start_date: nil,
29
+ end_date: nil
30
+ )
31
+ params = {
32
+ 'request.institutionStudentId' => institution_student_id,
33
+ 'request.studentIdList' => student_id_list,
34
+ 'request.studentNoteId' => student_note_id,
35
+ 'request.noteTypeId' => note_type_id,
36
+ 'request.startDate' => start_date,
37
+ 'request.endDate' => end_date
38
+ }.compact
39
+
40
+ response = @client.connection.get('StudentNote', params)
41
+ CampusIvy::Object.new(response.body)
42
+ end
43
+
44
+ sig do
45
+ params(
46
+ student_id: String,
47
+ note_type_id: Integer,
48
+ note: String,
49
+ subject: String
50
+ ).returns(CampusIvy::Object)
51
+ end
52
+ def create(
53
+ student_id:,
54
+ note_type_id:,
55
+ note:,
56
+ subject:
57
+ )
58
+ payload = {
59
+ StudentId: student_id,
60
+ NoteTypeId: note_type_id,
61
+ Note: note,
62
+ Subject: subject
63
+ }
64
+
65
+ response = @client.connection.post('StudentNote') do |req|
66
+ req.body = payload
67
+ end
68
+ CampusIvy::Object.new(response.body)
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CampusIvy
4
+ module Resources
5
+ class StudentR2T4
6
+ extend T::Sig
7
+
8
+ sig { params(client: CampusIvy::Client).void }
9
+ def initialize(client)
10
+ @client = client
11
+ end
12
+
13
+ sig do
14
+ params(
15
+ institution_student_id: T.nilable(Integer),
16
+ student_id_list: T.nilable(String),
17
+ start_date: T.nilable(String),
18
+ end_date: T.nilable(String)
19
+ ).returns(CampusIvy::Object)
20
+ end
21
+ def list(
22
+ institution_student_id: nil,
23
+ student_id_list: nil,
24
+ start_date: nil,
25
+ end_date: nil
26
+ )
27
+ params = {
28
+ 'request.institutionStudentId' => institution_student_id,
29
+ 'request.studentIdList' => student_id_list,
30
+ 'request.startDate' => start_date,
31
+ 'request.endDate' => end_date
32
+ }.compact
33
+
34
+ response = @client.connection.get('StudentR2T4', params)
35
+ CampusIvy::Object.new(response.body)
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CampusIvy
4
+ module Resources
5
+ class StudentReference
6
+ extend T::Sig
7
+
8
+ sig { params(client: CampusIvy::Client).void }
9
+ def initialize(client)
10
+ @client = client
11
+ end
12
+
13
+ sig do
14
+ params(
15
+ institution_student_id: T.nilable(Integer),
16
+ student_id_list: T.nilable(String),
17
+ start_date: T.nilable(String),
18
+ end_date: T.nilable(String)
19
+ ).returns(CampusIvy::Object)
20
+ end
21
+ def list(
22
+ institution_student_id: nil,
23
+ student_id_list: nil,
24
+ start_date: nil,
25
+ end_date: nil
26
+ )
27
+ params = {
28
+ 'request.institutionStudentId' => institution_student_id,
29
+ 'request.studentIdList' => student_id_list,
30
+ 'request.startDate' => start_date,
31
+ 'request.endDate' => end_date
32
+ }.compact
33
+
34
+ response = @client.connection.get('StudentReference', params)
35
+ CampusIvy::Object.new(response.body)
36
+ end
37
+
38
+ sig do
39
+ params(
40
+ student_id: String,
41
+ reference_id: T.nilable(String),
42
+ reference1: T.nilable(String),
43
+ reference2: T.nilable(String),
44
+ reference3: T.nilable(String),
45
+ reference4: T.nilable(String),
46
+ reference5: T.nilable(String)
47
+ ).returns(CampusIvy::Object)
48
+ end
49
+ def create(
50
+ student_id:,
51
+ reference_id: nil,
52
+ reference1: nil,
53
+ reference2: nil,
54
+ reference3: nil,
55
+ reference4: nil,
56
+ reference5: nil
57
+ )
58
+ payload = {
59
+ StudentId: student_id,
60
+ ReferenceId: reference_id,
61
+ Reference1: reference1,
62
+ Reference2: reference2,
63
+ Reference3: reference3,
64
+ Reference4: reference4,
65
+ Reference5: reference5
66
+ }.compact
67
+
68
+ response = @client.connection.post('StudentReference') do |req|
69
+ req.body = payload
70
+ end
71
+ CampusIvy::Object.new(response.body)
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CampusIvy
4
+ module Resources
5
+ class StudentRemainingBalance
6
+ extend T::Sig
7
+
8
+ sig { params(client: CampusIvy::Client).void }
9
+ def initialize(client)
10
+ @client = client
11
+ end
12
+
13
+ sig do
14
+ params(
15
+ institution_entity_location_id: T.nilable(Integer),
16
+ start_date: T.nilable(String),
17
+ end_date: T.nilable(String)
18
+ ).returns(CampusIvy::Object)
19
+ end
20
+ def list(
21
+ institution_entity_location_id: nil,
22
+ start_date: nil,
23
+ end_date: nil
24
+ )
25
+ params = {
26
+ 'request.institutionEntityLocationId' => institution_entity_location_id,
27
+ 'request.startDate' => start_date,
28
+ 'request.endDate' => end_date
29
+ }.compact
30
+
31
+ response = @client.connection.get('StudentRemainingBalance', params)
32
+ CampusIvy::Object.new(response.body)
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CampusIvy
4
+ module Resources
5
+ class StudentSelectedISIR
6
+ extend T::Sig
7
+
8
+ sig { params(client: CampusIvy::Client).void }
9
+ def initialize(client)
10
+ @client = client
11
+ end
12
+
13
+ sig do
14
+ params(
15
+ institution_student_id: T.nilable(Integer),
16
+ student_id_list: T.nilable(String),
17
+ start_date: T.nilable(String),
18
+ end_date: T.nilable(String)
19
+ ).returns(CampusIvy::Object)
20
+ end
21
+ def list(
22
+ institution_student_id: nil,
23
+ student_id_list: nil,
24
+ start_date: nil,
25
+ end_date: nil
26
+ )
27
+ params = {
28
+ 'request.institutionStudentId' => institution_student_id,
29
+ 'request.studentIdList' => student_id_list,
30
+ 'request.startDate' => start_date,
31
+ 'request.endDate' => end_date
32
+ }.compact
33
+
34
+ response = @client.connection.get('StudentSelectedISIR', params)
35
+ CampusIvy::Object.new(response.body)
36
+ end
37
+ end
38
+ end
39
+ end