d4h_api 2.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 (126) hide show
  1. checksums.yaml +7 -0
  2. checksums.yaml.gz.sig +0 -0
  3. data/LICENSE.md +136 -0
  4. data/README.md +785 -0
  5. data/d4h_api.gemspec +28 -0
  6. data/lib/d4h/api/client.rb +216 -0
  7. data/lib/d4h/api/collection.rb +55 -0
  8. data/lib/d4h/api/error.rb +31 -0
  9. data/lib/d4h/api/model.rb +57 -0
  10. data/lib/d4h/api/models/animal.rb +8 -0
  11. data/lib/d4h/api/models/animal_group.rb +8 -0
  12. data/lib/d4h/api/models/animal_group_membership.rb +8 -0
  13. data/lib/d4h/api/models/animal_qualification.rb +8 -0
  14. data/lib/d4h/api/models/attendance.rb +8 -0
  15. data/lib/d4h/api/models/custom_field.rb +8 -0
  16. data/lib/d4h/api/models/custom_field_for_entity.rb +8 -0
  17. data/lib/d4h/api/models/customer_identifier.rb +8 -0
  18. data/lib/d4h/api/models/d4h_module.rb +8 -0
  19. data/lib/d4h/api/models/d4h_task.rb +8 -0
  20. data/lib/d4h/api/models/document.rb +8 -0
  21. data/lib/d4h/api/models/duty.rb +8 -0
  22. data/lib/d4h/api/models/equipment.rb +8 -0
  23. data/lib/d4h/api/models/equipment_brand.rb +8 -0
  24. data/lib/d4h/api/models/equipment_category.rb +8 -0
  25. data/lib/d4h/api/models/equipment_fund.rb +8 -0
  26. data/lib/d4h/api/models/equipment_inspection.rb +8 -0
  27. data/lib/d4h/api/models/equipment_inspection_result.rb +8 -0
  28. data/lib/d4h/api/models/equipment_inspection_step.rb +8 -0
  29. data/lib/d4h/api/models/equipment_inspection_step_result.rb +8 -0
  30. data/lib/d4h/api/models/equipment_kind.rb +8 -0
  31. data/lib/d4h/api/models/equipment_location.rb +8 -0
  32. data/lib/d4h/api/models/equipment_model.rb +8 -0
  33. data/lib/d4h/api/models/equipment_retired_reason.rb +8 -0
  34. data/lib/d4h/api/models/equipment_supplier.rb +8 -0
  35. data/lib/d4h/api/models/equipment_supplier_ref.rb +8 -0
  36. data/lib/d4h/api/models/equipment_usage.rb +8 -0
  37. data/lib/d4h/api/models/event.rb +8 -0
  38. data/lib/d4h/api/models/exercise.rb +8 -0
  39. data/lib/d4h/api/models/handler_group.rb +8 -0
  40. data/lib/d4h/api/models/handler_group_membership.rb +8 -0
  41. data/lib/d4h/api/models/handler_qualification.rb +8 -0
  42. data/lib/d4h/api/models/health_safety_category.rb +8 -0
  43. data/lib/d4h/api/models/health_safety_report.rb +8 -0
  44. data/lib/d4h/api/models/health_safety_severity.rb +8 -0
  45. data/lib/d4h/api/models/incident.rb +8 -0
  46. data/lib/d4h/api/models/incident_involved_injury.rb +8 -0
  47. data/lib/d4h/api/models/incident_involved_metadata.rb +8 -0
  48. data/lib/d4h/api/models/incident_involved_person.rb +8 -0
  49. data/lib/d4h/api/models/location_bookmark.rb +8 -0
  50. data/lib/d4h/api/models/member.rb +8 -0
  51. data/lib/d4h/api/models/member_custom_status.rb +8 -0
  52. data/lib/d4h/api/models/member_group.rb +8 -0
  53. data/lib/d4h/api/models/member_group_membership.rb +8 -0
  54. data/lib/d4h/api/models/member_qualification.rb +8 -0
  55. data/lib/d4h/api/models/member_qualification_award.rb +8 -0
  56. data/lib/d4h/api/models/member_retired_reason.rb +8 -0
  57. data/lib/d4h/api/models/organisation.rb +8 -0
  58. data/lib/d4h/api/models/repair.rb +8 -0
  59. data/lib/d4h/api/models/resource_bundle.rb +8 -0
  60. data/lib/d4h/api/models/role.rb +8 -0
  61. data/lib/d4h/api/models/search_result.rb +8 -0
  62. data/lib/d4h/api/models/tag.rb +8 -0
  63. data/lib/d4h/api/models/team.rb +8 -0
  64. data/lib/d4h/api/models/whiteboard.rb +8 -0
  65. data/lib/d4h/api/models/whoami.rb +8 -0
  66. data/lib/d4h/api/resource.rb +171 -0
  67. data/lib/d4h/api/resources/animal_group_membership_resource.rb +21 -0
  68. data/lib/d4h/api/resources/animal_group_resource.rb +33 -0
  69. data/lib/d4h/api/resources/animal_qualification_resource.rb +21 -0
  70. data/lib/d4h/api/resources/animal_resource.rb +21 -0
  71. data/lib/d4h/api/resources/attendance_resource.rb +25 -0
  72. data/lib/d4h/api/resources/custom_field_for_entity_resource.rb +17 -0
  73. data/lib/d4h/api/resources/custom_field_resource.rb +33 -0
  74. data/lib/d4h/api/resources/customer_identifier_resource.rb +17 -0
  75. data/lib/d4h/api/resources/d4h_module_resource.rb +17 -0
  76. data/lib/d4h/api/resources/d4h_task_resource.rb +17 -0
  77. data/lib/d4h/api/resources/document_resource.rb +33 -0
  78. data/lib/d4h/api/resources/duty_resource.rb +21 -0
  79. data/lib/d4h/api/resources/equipment_brand_resource.rb +33 -0
  80. data/lib/d4h/api/resources/equipment_category_resource.rb +33 -0
  81. data/lib/d4h/api/resources/equipment_fund_resource.rb +33 -0
  82. data/lib/d4h/api/resources/equipment_inspection_resource.rb +21 -0
  83. data/lib/d4h/api/resources/equipment_inspection_result_resource.rb +29 -0
  84. data/lib/d4h/api/resources/equipment_inspection_step_resource.rb +33 -0
  85. data/lib/d4h/api/resources/equipment_inspection_step_result_resource.rb +33 -0
  86. data/lib/d4h/api/resources/equipment_kind_resource.rb +33 -0
  87. data/lib/d4h/api/resources/equipment_location_resource.rb +21 -0
  88. data/lib/d4h/api/resources/equipment_model_resource.rb +33 -0
  89. data/lib/d4h/api/resources/equipment_resource.rb +33 -0
  90. data/lib/d4h/api/resources/equipment_retired_reason_resource.rb +33 -0
  91. data/lib/d4h/api/resources/equipment_supplier_ref_resource.rb +33 -0
  92. data/lib/d4h/api/resources/equipment_supplier_resource.rb +33 -0
  93. data/lib/d4h/api/resources/equipment_usage_resource.rb +33 -0
  94. data/lib/d4h/api/resources/event_resource.rb +29 -0
  95. data/lib/d4h/api/resources/exercise_resource.rb +33 -0
  96. data/lib/d4h/api/resources/handler_group_membership_resource.rb +21 -0
  97. data/lib/d4h/api/resources/handler_group_resource.rb +33 -0
  98. data/lib/d4h/api/resources/handler_qualification_resource.rb +21 -0
  99. data/lib/d4h/api/resources/health_safety_category_resource.rb +33 -0
  100. data/lib/d4h/api/resources/health_safety_report_resource.rb +21 -0
  101. data/lib/d4h/api/resources/health_safety_severity_resource.rb +33 -0
  102. data/lib/d4h/api/resources/incident_involved_injury_resource.rb +21 -0
  103. data/lib/d4h/api/resources/incident_involved_metadata_resource.rb +17 -0
  104. data/lib/d4h/api/resources/incident_involved_person_resource.rb +21 -0
  105. data/lib/d4h/api/resources/incident_resource.rb +29 -0
  106. data/lib/d4h/api/resources/location_bookmark_resource.rb +21 -0
  107. data/lib/d4h/api/resources/member_custom_status_resource.rb +17 -0
  108. data/lib/d4h/api/resources/member_group_membership_resource.rb +21 -0
  109. data/lib/d4h/api/resources/member_group_resource.rb +33 -0
  110. data/lib/d4h/api/resources/member_qualification_award_resource.rb +21 -0
  111. data/lib/d4h/api/resources/member_qualification_resource.rb +21 -0
  112. data/lib/d4h/api/resources/member_resource.rb +21 -0
  113. data/lib/d4h/api/resources/member_retired_reason_resource.rb +17 -0
  114. data/lib/d4h/api/resources/organisation_resource.rb +13 -0
  115. data/lib/d4h/api/resources/repair_resource.rb +33 -0
  116. data/lib/d4h/api/resources/resource_bundle_resource.rb +21 -0
  117. data/lib/d4h/api/resources/role_resource.rb +21 -0
  118. data/lib/d4h/api/resources/search_result_resource.rb +17 -0
  119. data/lib/d4h/api/resources/tag_resource.rb +33 -0
  120. data/lib/d4h/api/resources/team_resource.rb +13 -0
  121. data/lib/d4h/api/resources/whiteboard_resource.rb +33 -0
  122. data/lib/d4h/api/resources/whoami_resource.rb +13 -0
  123. data/lib/d4h.rb +156 -0
  124. data.tar.gz.sig +0 -0
  125. metadata +264 -0
  126. metadata.gz.sig +0 -0
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class HealthSafetyCategoryResource < Resource
6
+ SUB_URL = "health-safety-categories"
7
+
8
+ def list(**params)
9
+ Collection.new(get_request(resource_url, params: params).body, model_class: HealthSafetyCategory)
10
+ end
11
+
12
+ def list_all(**params)
13
+ paginate_all(params, model_class: HealthSafetyCategory)
14
+ end
15
+
16
+ def show(id:)
17
+ HealthSafetyCategory.new(get_request("#{resource_url}/#{id}").body)
18
+ end
19
+
20
+ def create(data)
21
+ HealthSafetyCategory.new(post_request(resource_url, body: data).body)
22
+ end
23
+
24
+ def update(id:, **params)
25
+ HealthSafetyCategory.new(patch_request("#{resource_url}/#{id}", body: params).body)
26
+ end
27
+
28
+ def destroy(id:)
29
+ delete_request("#{resource_url}/#{id}")
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class HealthSafetyReportResource < Resource
6
+ SUB_URL = "health-safety-reports"
7
+
8
+ def list(**params)
9
+ Collection.new(get_request(resource_url, params: params).body, model_class: HealthSafetyReport)
10
+ end
11
+
12
+ def list_all(**params)
13
+ paginate_all(params, model_class: HealthSafetyReport)
14
+ end
15
+
16
+ def show(id:)
17
+ HealthSafetyReport.new(get_request("#{resource_url}/#{id}").body)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class HealthSafetySeverityResource < Resource
6
+ SUB_URL = "health-safety-severities"
7
+
8
+ def list(**params)
9
+ Collection.new(get_request(resource_url, params: params).body, model_class: HealthSafetySeverity)
10
+ end
11
+
12
+ def list_all(**params)
13
+ paginate_all(params, model_class: HealthSafetySeverity)
14
+ end
15
+
16
+ def show(id:)
17
+ HealthSafetySeverity.new(get_request("#{resource_url}/#{id}").body)
18
+ end
19
+
20
+ def create(data)
21
+ HealthSafetySeverity.new(post_request(resource_url, body: data).body)
22
+ end
23
+
24
+ def update(id:, **params)
25
+ HealthSafetySeverity.new(patch_request("#{resource_url}/#{id}", body: params).body)
26
+ end
27
+
28
+ def destroy(id:)
29
+ delete_request("#{resource_url}/#{id}")
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class IncidentInvolvedInjuryResource < Resource
6
+ SUB_URL = "incident-involved-injuries"
7
+
8
+ def list(**params)
9
+ Collection.new(get_request(resource_url, params: params).body, model_class: IncidentInvolvedInjury)
10
+ end
11
+
12
+ def list_all(**params)
13
+ paginate_all(params, model_class: IncidentInvolvedInjury)
14
+ end
15
+
16
+ def show(id:)
17
+ IncidentInvolvedInjury.new(get_request("#{resource_url}/#{id}").body)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class IncidentInvolvedMetadataResource < Resource
6
+ SUB_URL = "incident-involved-metadata"
7
+
8
+ def list(**params)
9
+ Collection.new(get_request(resource_url, params: params).body, model_class: IncidentInvolvedMetadata)
10
+ end
11
+
12
+ def list_all(**params)
13
+ paginate_all(params, model_class: IncidentInvolvedMetadata)
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class IncidentInvolvedPersonResource < Resource
6
+ SUB_URL = "incident-involved-persons"
7
+
8
+ def list(**params)
9
+ Collection.new(get_request(resource_url, params: params).body, model_class: IncidentInvolvedPerson)
10
+ end
11
+
12
+ def list_all(**params)
13
+ paginate_all(params, model_class: IncidentInvolvedPerson)
14
+ end
15
+
16
+ def show(id:)
17
+ IncidentInvolvedPerson.new(get_request("#{resource_url}/#{id}").body)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class IncidentResource < Resource
6
+ SUB_URL = "incidents"
7
+
8
+ def list(**params)
9
+ Collection.new(get_request(resource_url, params: params).body, model_class: Incident)
10
+ end
11
+
12
+ def list_all(**params)
13
+ paginate_all(params, model_class: Incident)
14
+ end
15
+
16
+ def show(id:)
17
+ Incident.new(get_request("#{resource_url}/#{id}").body)
18
+ end
19
+
20
+ def create(data)
21
+ Incident.new(post_request(resource_url, body: data).body)
22
+ end
23
+
24
+ def update(id:, **params)
25
+ Incident.new(patch_request("#{resource_url}/#{id}", body: params).body)
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class LocationBookmarkResource < Resource
6
+ SUB_URL = "location-bookmarks"
7
+
8
+ def list(**params)
9
+ Collection.new(get_request(resource_url, params: params).body, model_class: LocationBookmark)
10
+ end
11
+
12
+ def list_all(**params)
13
+ paginate_all(params, model_class: LocationBookmark)
14
+ end
15
+
16
+ def show(id:)
17
+ LocationBookmark.new(get_request("#{resource_url}/#{id}").body)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class MemberCustomStatusResource < Resource
6
+ SUB_URL = "member-custom-statuses"
7
+
8
+ def list(**params)
9
+ Collection.new(get_request(resource_url, params: params).body, model_class: MemberCustomStatus)
10
+ end
11
+
12
+ def list_all(**params)
13
+ paginate_all(params, model_class: MemberCustomStatus)
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class MemberGroupMembershipResource < Resource
6
+ SUB_URL = "member-group-memberships"
7
+
8
+ def list(**params)
9
+ Collection.new(get_request(resource_url, params: params).body, model_class: MemberGroupMembership)
10
+ end
11
+
12
+ def list_all(**params)
13
+ paginate_all(params, model_class: MemberGroupMembership)
14
+ end
15
+
16
+ def show(id:)
17
+ MemberGroupMembership.new(get_request("#{resource_url}/#{id}").body)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class MemberGroupResource < Resource
6
+ SUB_URL = "member-groups"
7
+
8
+ def list(**params)
9
+ Collection.new(get_request(resource_url, params: params).body, model_class: MemberGroup)
10
+ end
11
+
12
+ def list_all(**params)
13
+ paginate_all(params, model_class: MemberGroup)
14
+ end
15
+
16
+ def show(id:)
17
+ MemberGroup.new(get_request("#{resource_url}/#{id}").body)
18
+ end
19
+
20
+ def create(data)
21
+ MemberGroup.new(post_request(resource_url, body: data).body)
22
+ end
23
+
24
+ def update(id:, **params)
25
+ MemberGroup.new(patch_request("#{resource_url}/#{id}", body: params).body)
26
+ end
27
+
28
+ def destroy(id:)
29
+ delete_request("#{resource_url}/#{id}")
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class MemberQualificationAwardResource < Resource
6
+ SUB_URL = "member-qualification-awards"
7
+
8
+ def list(**params)
9
+ Collection.new(get_request(resource_url, params: params).body, model_class: MemberQualificationAward)
10
+ end
11
+
12
+ def list_all(**params)
13
+ paginate_all(params, model_class: MemberQualificationAward)
14
+ end
15
+
16
+ def create(data)
17
+ MemberQualificationAward.new(post_request(resource_url, body: data).body)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class MemberQualificationResource < Resource
6
+ SUB_URL = "member-qualifications"
7
+
8
+ def list(**params)
9
+ Collection.new(get_request(resource_url, params: params).body, model_class: MemberQualification)
10
+ end
11
+
12
+ def list_all(**params)
13
+ paginate_all(params, model_class: MemberQualification)
14
+ end
15
+
16
+ def show(id:)
17
+ MemberQualification.new(get_request("#{resource_url}/#{id}").body)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class MemberResource < Resource
6
+ SUB_URL = "members"
7
+
8
+ def list(**params)
9
+ Collection.new(get_request(resource_url, params: params).body, model_class: Member)
10
+ end
11
+
12
+ def list_all(**params)
13
+ paginate_all(params, model_class: Member)
14
+ end
15
+
16
+ def update(id:, **params)
17
+ Member.new(patch_request("#{resource_url}/#{id}", body: params).body)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class MemberRetiredReasonResource < Resource
6
+ SUB_URL = "member-retired-reasons"
7
+
8
+ def list(**params)
9
+ Collection.new(get_request(resource_url, params: params).body, model_class: MemberRetiredReason)
10
+ end
11
+
12
+ def list_all(**params)
13
+ paginate_all(params, model_class: MemberRetiredReason)
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class OrganisationResource < Resource
6
+ SUB_URL = "organisations"
7
+
8
+ def show(id:)
9
+ Organisation.new(get_request("#{base_path}/#{SUB_URL}/#{id}").body)
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class RepairResource < Resource
6
+ SUB_URL = "repairs"
7
+
8
+ def list(**params)
9
+ Collection.new(get_request(resource_url, params: params).body, model_class: Repair)
10
+ end
11
+
12
+ def list_all(**params)
13
+ paginate_all(params, model_class: Repair)
14
+ end
15
+
16
+ def show(id:)
17
+ Repair.new(get_request("#{resource_url}/#{id}").body)
18
+ end
19
+
20
+ def create(data)
21
+ Repair.new(post_request(resource_url, body: data).body)
22
+ end
23
+
24
+ def update(id:, **params)
25
+ Repair.new(patch_request("#{resource_url}/#{id}", body: params).body)
26
+ end
27
+
28
+ def destroy(id:)
29
+ delete_request("#{resource_url}/#{id}")
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class ResourceBundleResource < Resource
6
+ SUB_URL = "resource-bundles"
7
+
8
+ def list(**params)
9
+ Collection.new(get_request(resource_url, params: params).body, model_class: ResourceBundle)
10
+ end
11
+
12
+ def list_all(**params)
13
+ paginate_all(params, model_class: ResourceBundle)
14
+ end
15
+
16
+ def show(id:)
17
+ ResourceBundle.new(get_request("#{resource_url}/#{id}").body)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class RoleResource < Resource
6
+ SUB_URL = "roles"
7
+
8
+ def list(**params)
9
+ Collection.new(get_request(resource_url, params: params).body, model_class: Role)
10
+ end
11
+
12
+ def list_all(**params)
13
+ paginate_all(params, model_class: Role)
14
+ end
15
+
16
+ def show(id:)
17
+ Role.new(get_request("#{resource_url}/#{id}").body)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class SearchResultResource < Resource
6
+ SUB_URL = "search"
7
+
8
+ def list(**params)
9
+ Collection.new(get_request(resource_url, params: params).body, model_class: SearchResult)
10
+ end
11
+
12
+ def list_all(**params)
13
+ paginate_all(params, model_class: SearchResult)
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class TagResource < Resource
6
+ SUB_URL = "tags"
7
+
8
+ def list(**params)
9
+ Collection.new(get_request(resource_url, params: params).body, model_class: Tag)
10
+ end
11
+
12
+ def list_all(**params)
13
+ paginate_all(params, model_class: Tag)
14
+ end
15
+
16
+ def show(id:)
17
+ Tag.new(get_request("#{resource_url}/#{id}").body)
18
+ end
19
+
20
+ def create(data)
21
+ Tag.new(post_request(resource_url, body: data).body)
22
+ end
23
+
24
+ def update(id:, **params)
25
+ Tag.new(patch_request("#{resource_url}/#{id}", body: params).body)
26
+ end
27
+
28
+ def destroy(id:)
29
+ delete_request("#{resource_url}/#{id}")
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class TeamResource < Resource
6
+ SUB_URL = "teams"
7
+
8
+ def show(id:)
9
+ Team.new(get_request("#{resource_url}/#{id}").body)
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class WhiteboardResource < Resource
6
+ SUB_URL = "whiteboard"
7
+
8
+ def list(**params)
9
+ Collection.new(get_request(resource_url, params: params).body, model_class: Whiteboard)
10
+ end
11
+
12
+ def list_all(**params)
13
+ paginate_all(params, model_class: Whiteboard)
14
+ end
15
+
16
+ def show(id:)
17
+ Whiteboard.new(get_request("#{resource_url}/#{id}").body)
18
+ end
19
+
20
+ def create(data)
21
+ Whiteboard.new(post_request(resource_url, body: data).body)
22
+ end
23
+
24
+ def update(id:, **params)
25
+ Whiteboard.new(patch_request("#{resource_url}/#{id}", body: params).body)
26
+ end
27
+
28
+ def destroy(id:)
29
+ delete_request("#{resource_url}/#{id}")
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module D4H
4
+ module API
5
+ class WhoamiResource < Resource
6
+ SUB_URL = "whoami"
7
+
8
+ def show
9
+ Whoami.new(get_request("#{base_path}/#{SUB_URL}").body)
10
+ end
11
+ end
12
+ end
13
+ end