feat: version bump: 0.0.5

This commit is contained in:
Adriano Caloiaro 2025-12-22 08:28:52 -08:00
parent 48e27af202
commit d6c3ffbf73
No known key found for this signature in database
130 changed files with 9446 additions and 1353 deletions

View file

@ -320,16 +320,31 @@ docs/GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner.md
docs/GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInnerFieldsInner.md
docs/GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig.md
docs/GetIntegrationsIntegrationIdPositiveResponseDataTool.md
docs/GetIntegrationsIntegrationIdPositiveResponseDataWriteActionsInner.md
docs/GetIntegrationsIntegrationIdPositiveResponseDataWriteActionsInnerFieldsInner.md
docs/GetLmsCourseProgressionsParameterIncludeDeleted.md
docs/GetLmsCourseProgressionsPositiveResponse.md
docs/GetLmsCourseProgressionsPositiveResponseData.md
docs/GetLmsCourseProgressionsPositiveResponseDataResultsInner.md
docs/GetLmsCourseProgressionsPositiveResponseDataResultsInnerCourseRevision.md
docs/GetLmsCourseProgressionsPositiveResponseDataResultsInnerCourseRevisionCourse.md
docs/GetLmsCourseProgressionsPositiveResponseDataResultsInnerUser.md
docs/GetLmsCoursesParameterIncludeDeleted.md
docs/GetLmsCoursesPositiveResponse.md
docs/GetLmsCoursesPositiveResponseData.md
docs/GetLmsCoursesPositiveResponseDataResultsInner.md
docs/GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner.md
docs/GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner.md
docs/GetLmsUsersParameterStatus.md
docs/GetLmsCoursesPositiveResponseDataResultsInnerProvider.md
docs/GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInner.md
docs/GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInnerSkillAssignmentsInner.md
docs/GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInnerSkillAssignmentsInnerSkill.md
docs/GetLmsSkillsParameterIncludeDeleted.md
docs/GetLmsSkillsPositiveResponse.md
docs/GetLmsSkillsPositiveResponseData.md
docs/GetLmsSkillsPositiveResponseDataResultsInner.md
docs/GetLmsUsersParameterIncludeDeleted.md
docs/GetLmsUsersPositiveResponse.md
docs/GetLmsUsersPositiveResponseData.md
docs/GetLmsUsersPositiveResponseDataResultsInner.md
docs/GetLmsUsersPositiveResponseDataResultsInnerProgressInner.md
docs/GetToolsCategoryParameterCategory.md
docs/GetToolsCategoryPositiveResponse.md
docs/GetToolsCategoryPositiveResponseData.md
@ -340,6 +355,7 @@ docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageFeaturesInner.md
docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInner.md
docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInnerFieldsInner.md
docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInner.md
docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInnerFieldsInner.md
docs/InlineAssessmentOrderReceivedWebhookPayload.md
docs/InlineObject.md
docs/InlineObject1.md
@ -368,8 +384,6 @@ docs/PatchHrisSkillsSkillIdPositiveResponse.md
docs/PatchHrisSkillsSkillIdRequestBody.md
docs/PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse.md
docs/PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody.md
docs/PatchLmsProgressProgressIdPositiveResponse.md
docs/PatchLmsProgressProgressIdRequestBody.md
docs/PostAiApplyApplyPositiveResponse.md
docs/PostAiApplyApplyPositiveResponseData.md
docs/PostAiApplyApplyRequestBody.md
@ -450,6 +464,7 @@ docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfLever.md
docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfPersonio.md
docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga.md
docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfPilogaCandidate.md
docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfPinpoint.md
docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee.md
docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruiteeCandidate.md
docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfSmartrecruiters.md
@ -541,6 +556,7 @@ docs/PostHrisEmployeesEmployeeIdDocumentsPositiveResponse.md
docs/PostHrisEmployeesEmployeeIdDocumentsRequestBody.md
docs/PostHrisEmployeesFormPositiveResponse.md
docs/PostHrisEmployeesFormPositiveResponseData.md
docs/PostHrisEmployeesFormPositiveResponseDataPrehire.md
docs/PostHrisEmployeesFormRequestBody.md
docs/PostHrisEmployeesPositiveResponse.md
docs/PostHrisEmployeesPositiveResponseData.md
@ -582,15 +598,13 @@ docs/PostHrisSkillsRequestBody.md
docs/PostIntegrationsIntegrationIdRelinkPositiveResponse.md
docs/PostIntegrationsIntegrationIdRelinkPositiveResponseData.md
docs/PostIntegrationsIntegrationIdRelinkRequestBody.md
docs/PostLmsContentPositiveResponse.md
docs/PostLmsContentPositiveResponseData.md
docs/PostLmsContentRequestBody.md
docs/PostLmsCourseProgressionsCourseProgressionIdCompletePositiveResponse.md
docs/PostLmsCourseProgressionsCourseProgressionIdCompleteRequestBody.md
docs/PostLmsCourseProgressionsPositiveResponse.md
docs/PostLmsCourseProgressionsRequestBody.md
docs/PostLmsCoursesPositiveResponse.md
docs/PostLmsCoursesRequestBody.md
docs/PostLmsCoursesRequestBodySkillsInner.md
docs/PostLmsProgressPositiveResponse.md
docs/PostLmsProgressPositiveResponseData.md
docs/PostLmsProgressRequestBody.md
docs/PostLmsCoursesRequestBodyCourse.md
docs/PostPassthroughToolApiPositiveResponse.md
docs/PostPassthroughToolApiPositiveResponseData.md
docs/PostPassthroughToolApiPositiveResponseDataHeadersValue.md
@ -627,8 +641,6 @@ docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyHourlyPaymentsInn
docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyPayrollRun.md
docs/PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse.md
docs/PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody.md
docs/RemoteEventReceivedWebhookPayload.md
docs/RemoteEventReceivedWebhookPayloadData.md
docs/Schema1Value.md
docs/Schema2.md
docs/Schema2AnyOf.md
@ -652,6 +664,7 @@ docs/SyncFinishedWebhookPayloadData.md
docs/UnifiedATSAPIApi.md
docs/UnifiedATSAssessmentBackgroundCheckAPIApi.md
docs/UnifiedHRISAPIApi.md
docs/UnifiedLMSAPIApi.md
git_push.sh
kombo_client.gemspec
lib/kombo_client.rb
@ -663,6 +676,7 @@ lib/kombo_client/api/kombo_connect_api.rb
lib/kombo_client/api/unified_ats_assessment_background_check_api_api.rb
lib/kombo_client/api/unified_atsapi_api.rb
lib/kombo_client/api/unified_hrisapi_api.rb
lib/kombo_client/api/unified_lmsapi_api.rb
lib/kombo_client/api_client.rb
lib/kombo_client/api_error.rb
lib/kombo_client/api_model_base.rb
@ -979,16 +993,31 @@ lib/kombo_client/models/get_integrations_integration_id_positive_response_data_r
lib/kombo_client/models/get_integrations_integration_id_positive_response_data_read_models_inner_fields_inner.rb
lib/kombo_client/models/get_integrations_integration_id_positive_response_data_scope_config.rb
lib/kombo_client/models/get_integrations_integration_id_positive_response_data_tool.rb
lib/kombo_client/models/get_integrations_integration_id_positive_response_data_write_actions_inner.rb
lib/kombo_client/models/get_integrations_integration_id_positive_response_data_write_actions_inner_fields_inner.rb
lib/kombo_client/models/get_lms_course_progressions_parameter_include_deleted.rb
lib/kombo_client/models/get_lms_course_progressions_positive_response.rb
lib/kombo_client/models/get_lms_course_progressions_positive_response_data.rb
lib/kombo_client/models/get_lms_course_progressions_positive_response_data_results_inner.rb
lib/kombo_client/models/get_lms_course_progressions_positive_response_data_results_inner_course_revision.rb
lib/kombo_client/models/get_lms_course_progressions_positive_response_data_results_inner_course_revision_course.rb
lib/kombo_client/models/get_lms_course_progressions_positive_response_data_results_inner_user.rb
lib/kombo_client/models/get_lms_courses_parameter_include_deleted.rb
lib/kombo_client/models/get_lms_courses_positive_response.rb
lib/kombo_client/models/get_lms_courses_positive_response_data.rb
lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner.rb
lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner_ordered_content_inner.rb
lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner_skills_inner.rb
lib/kombo_client/models/get_lms_users_parameter_status.rb
lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner_provider.rb
lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner_revisions_inner.rb
lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner_revisions_inner_skill_assignments_inner.rb
lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner_revisions_inner_skill_assignments_inner_skill.rb
lib/kombo_client/models/get_lms_skills_parameter_include_deleted.rb
lib/kombo_client/models/get_lms_skills_positive_response.rb
lib/kombo_client/models/get_lms_skills_positive_response_data.rb
lib/kombo_client/models/get_lms_skills_positive_response_data_results_inner.rb
lib/kombo_client/models/get_lms_users_parameter_include_deleted.rb
lib/kombo_client/models/get_lms_users_positive_response.rb
lib/kombo_client/models/get_lms_users_positive_response_data.rb
lib/kombo_client/models/get_lms_users_positive_response_data_results_inner.rb
lib/kombo_client/models/get_lms_users_positive_response_data_results_inner_progress_inner.rb
lib/kombo_client/models/get_tools_category_parameter_category.rb
lib/kombo_client/models/get_tools_category_positive_response.rb
lib/kombo_client/models/get_tools_category_positive_response_data.rb
@ -999,6 +1028,7 @@ lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_co
lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner.rb
lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner_fields_inner.rb
lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_write_actions_inner.rb
lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_write_actions_inner_fields_inner.rb
lib/kombo_client/models/inline_assessment_order_received_webhook_payload.rb
lib/kombo_client/models/inline_object.rb
lib/kombo_client/models/inline_object1.rb
@ -1026,8 +1056,6 @@ lib/kombo_client/models/patch_hris_skills_skill_id_positive_response.rb
lib/kombo_client/models/patch_hris_skills_skill_id_request_body.rb
lib/kombo_client/models/patch_integrations_integration_id_integration_fields_integration_field_id_positive_response.rb
lib/kombo_client/models/patch_integrations_integration_id_integration_fields_integration_field_id_request_body.rb
lib/kombo_client/models/patch_lms_progress_progress_id_positive_response.rb
lib/kombo_client/models/patch_lms_progress_progress_id_request_body.rb
lib/kombo_client/models/post_ai_apply_apply_positive_response.rb
lib/kombo_client/models/post_ai_apply_apply_positive_response_data.rb
lib/kombo_client/models/post_ai_apply_apply_request_body.rb
@ -1108,6 +1136,7 @@ lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_le
lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_personio.rb
lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_piloga.rb
lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_piloga_candidate.rb
lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_pinpoint.rb
lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee.rb
lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee_candidate.rb
lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_smartrecruiters.rb
@ -1199,6 +1228,7 @@ lib/kombo_client/models/post_hris_employees_employee_id_documents_positive_respo
lib/kombo_client/models/post_hris_employees_employee_id_documents_request_body.rb
lib/kombo_client/models/post_hris_employees_form_positive_response.rb
lib/kombo_client/models/post_hris_employees_form_positive_response_data.rb
lib/kombo_client/models/post_hris_employees_form_positive_response_data_prehire.rb
lib/kombo_client/models/post_hris_employees_form_request_body.rb
lib/kombo_client/models/post_hris_employees_positive_response.rb
lib/kombo_client/models/post_hris_employees_positive_response_data.rb
@ -1240,15 +1270,13 @@ lib/kombo_client/models/post_hris_skills_request_body.rb
lib/kombo_client/models/post_integrations_integration_id_relink_positive_response.rb
lib/kombo_client/models/post_integrations_integration_id_relink_positive_response_data.rb
lib/kombo_client/models/post_integrations_integration_id_relink_request_body.rb
lib/kombo_client/models/post_lms_content_positive_response.rb
lib/kombo_client/models/post_lms_content_positive_response_data.rb
lib/kombo_client/models/post_lms_content_request_body.rb
lib/kombo_client/models/post_lms_course_progressions_course_progression_id_complete_positive_response.rb
lib/kombo_client/models/post_lms_course_progressions_course_progression_id_complete_request_body.rb
lib/kombo_client/models/post_lms_course_progressions_positive_response.rb
lib/kombo_client/models/post_lms_course_progressions_request_body.rb
lib/kombo_client/models/post_lms_courses_positive_response.rb
lib/kombo_client/models/post_lms_courses_request_body.rb
lib/kombo_client/models/post_lms_courses_request_body_skills_inner.rb
lib/kombo_client/models/post_lms_progress_positive_response.rb
lib/kombo_client/models/post_lms_progress_positive_response_data.rb
lib/kombo_client/models/post_lms_progress_request_body.rb
lib/kombo_client/models/post_lms_courses_request_body_course.rb
lib/kombo_client/models/post_passthrough_tool_api_positive_response.rb
lib/kombo_client/models/post_passthrough_tool_api_positive_response_data.rb
lib/kombo_client/models/post_passthrough_tool_api_positive_response_data_headers_value.rb
@ -1285,8 +1313,6 @@ lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_r
lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_payroll_run.rb
lib/kombo_client/models/put_integrations_integration_id_custom_fields_custom_field_id_positive_response.rb
lib/kombo_client/models/put_integrations_integration_id_custom_fields_custom_field_id_request_body.rb
lib/kombo_client/models/remote_event_received_webhook_payload.rb
lib/kombo_client/models/remote_event_received_webhook_payload_data.rb
lib/kombo_client/models/schema1_value.rb
lib/kombo_client/models/schema2.rb
lib/kombo_client/models/schema2_any_of.rb
@ -1308,7 +1334,32 @@ lib/kombo_client/models/schema4.rb
lib/kombo_client/models/sync_finished_webhook_payload.rb
lib/kombo_client/models/sync_finished_webhook_payload_data.rb
lib/kombo_client/version.rb
spec/models/get_hris_absences_positive_response_data_results_inner_type_spec.rb
spec/models/get_hris_locations_positive_response_data_results_inner_spec.rb
spec/models/get_hris_performance_reviews_positive_response_data_results_inner_review_cycle_spec.rb
spec/api/unified_lmsapi_api_spec.rb
spec/models/get_integrations_integration_id_positive_response_data_write_actions_inner_fields_inner_spec.rb
spec/models/get_integrations_integration_id_positive_response_data_write_actions_inner_spec.rb
spec/models/get_lms_course_progressions_parameter_include_deleted_spec.rb
spec/models/get_lms_course_progressions_positive_response_data_results_inner_course_revision_course_spec.rb
spec/models/get_lms_course_progressions_positive_response_data_results_inner_course_revision_spec.rb
spec/models/get_lms_course_progressions_positive_response_data_results_inner_spec.rb
spec/models/get_lms_course_progressions_positive_response_data_results_inner_user_spec.rb
spec/models/get_lms_course_progressions_positive_response_data_spec.rb
spec/models/get_lms_course_progressions_positive_response_spec.rb
spec/models/get_lms_courses_parameter_include_deleted_spec.rb
spec/models/get_lms_courses_positive_response_data_results_inner_provider_spec.rb
spec/models/get_lms_courses_positive_response_data_results_inner_revisions_inner_skill_assignments_inner_skill_spec.rb
spec/models/get_lms_courses_positive_response_data_results_inner_revisions_inner_skill_assignments_inner_spec.rb
spec/models/get_lms_courses_positive_response_data_results_inner_revisions_inner_spec.rb
spec/models/get_lms_skills_parameter_include_deleted_spec.rb
spec/models/get_lms_skills_positive_response_data_results_inner_spec.rb
spec/models/get_lms_skills_positive_response_data_spec.rb
spec/models/get_lms_skills_positive_response_spec.rb
spec/models/get_lms_users_parameter_include_deleted_spec.rb
spec/models/get_tools_category_positive_response_data_tools_inner_coverage_write_actions_inner_fields_inner_spec.rb
spec/models/post_ats_candidates_request_body_remote_fields_all_of_pinpoint_spec.rb
spec/models/post_hris_employees_form_positive_response_data_prehire_spec.rb
spec/models/post_lms_course_progressions_course_progression_id_complete_positive_response_spec.rb
spec/models/post_lms_course_progressions_course_progression_id_complete_request_body_spec.rb
spec/models/post_lms_course_progressions_positive_response_spec.rb
spec/models/post_lms_course_progressions_request_body_spec.rb
spec/models/post_lms_courses_request_body_course_spec.rb
spec/spec_helper.rb

View file

@ -1,7 +1,7 @@
PATH
remote: .
specs:
kombo_client (0.0.2)
kombo_client (0.0.3)
typhoeus (~> 1.0, >= 1.0.1)
GEM

View file

@ -1 +1 @@
0.0.3
0.0.5

File diff suppressed because one or more lines are too long

View file

@ -4,11 +4,11 @@
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **remote_id** | **String** | The candidate's identifier in the integrated system. | [optional] |
| **email** | **String** | The candidate's email address. | |
| **first_name** | **String** | The candidate's first name. | [optional] |
| **last_name** | **String** | The candidate's last name. | [optional] |
| **phone** | **String** | The candidate's phone number. | [optional] |
| **remote_id** | **String** | The candidate's identifier in the integrated system. | [optional] |
## Example
@ -16,11 +16,11 @@
require 'kombo_client'
instance = Kombo::AssessmentOrderReceivedWebhookPayloadDataCandidate.new(
remote_id: null,
email: null,
first_name: null,
last_name: null,
phone: null,
remote_id: null
phone: null
)
```

View file

@ -5,7 +5,7 @@
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **integration_tool** | **String** | The name of the integrated tool (e.g., \"personio\", \"greenhouse\"). | |
| **integration_category** | **String** | The category of the integration (HRIS, ATS, or ASSESSMENT). | |
| **integration_category** | **String** | The category of the integration (HRIS, ATS, ASSESSMENT, or LMS). | |
| **end_user** | [**ConnectionFlowFailedWebhookPayloadDataEndUser**](ConnectionFlowFailedWebhookPayloadDataEndUser.md) | | |
| **log_url** | **String** | URL to view detailed logs for the operation. | |

View file

@ -6,7 +6,7 @@
| ---- | ---- | ----------- | ----- |
| **integration_id** | **String** | The unique identifier of the integration. | |
| **integration_tool** | **String** | The name of the integrated tool (e.g., \"personio\", \"greenhouse\"). | |
| **integration_category** | **String** | The category of the integration (HRIS, ATS, or ASSESSMENT). | |
| **integration_category** | **String** | The category of the integration (HRIS, ATS, ASSESSMENT, or LMS). | |
| **changed_models** | [**Array<DataChangedWebhookPayloadDataChangedModelsInner>**](DataChangedWebhookPayloadDataChangedModelsInner.md) | List of data models and connections for which one or more records were created, updated, or deleted. | |
## Example

View file

@ -13,7 +13,6 @@ All URIs are relative to *https://api.kombo.dev/v1*
| [**webhook_integration_created_webhook_payload**](DefaultApi.md#webhook_integration_created_webhook_payload) | **POST** /integration-created | Integration created |
| [**webhook_integration_deleted_webhook_payload**](DefaultApi.md#webhook_integration_deleted_webhook_payload) | **POST** /integration-deleted | Integration deleted |
| [**webhook_integration_state_changed_webhook_payload**](DefaultApi.md#webhook_integration_state_changed_webhook_payload) | **POST** /integration-state-changed | Integration state changed |
| [**webhook_remote_event_received_webhook_payload**](DefaultApi.md#webhook_remote_event_received_webhook_payload) | **POST** /remote-event-received | Remote event received |
| [**webhook_sync_finished_webhook_payload**](DefaultApi.md#webhook_sync_finished_webhook_payload) | **POST** /sync-finished | Sync finished |
@ -629,74 +628,6 @@ nil (empty response body)
- **Accept**: Not defined
## webhook_remote_event_received_webhook_payload
> webhook_remote_event_received_webhook_payload(x_kombo_signature, remote_event_received_webhook_payload)
Remote event received
### Examples
```ruby
require 'time'
require 'kombo_client'
# setup authorization
Kombo.configure do |config|
# Configure Bearer authorization: ApiKey
config.access_token = 'YOUR_BEARER_TOKEN'
end
api_instance = Kombo::DefaultApi.new
x_kombo_signature = # String | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.
remote_event_received_webhook_payload = # RemoteEventReceivedWebhookPayload |
begin
# Remote event received
api_instance.webhook_remote_event_received_webhook_payload(x_kombo_signature, remote_event_received_webhook_payload)
rescue Kombo::ApiError => e
puts "Error when calling DefaultApi->webhook_remote_event_received_webhook_payload: #{e}"
end
```
#### Using the webhook_remote_event_received_webhook_payload_with_http_info variant
This returns an Array which contains the response data (`nil` in this case), status code and headers.
> <Array(nil, Integer, Hash)> webhook_remote_event_received_webhook_payload_with_http_info(x_kombo_signature, remote_event_received_webhook_payload)
```ruby
begin
# Remote event received
data, status_code, headers = api_instance.webhook_remote_event_received_webhook_payload_with_http_info(x_kombo_signature, remote_event_received_webhook_payload)
p status_code # => 2xx
p headers # => { ... }
p data # => nil
rescue Kombo::ApiError => e
puts "Error when calling DefaultApi->webhook_remote_event_received_webhook_payload_with_http_info: #{e}"
end
```
### Parameters
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **x_kombo_signature** | **String** | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. | |
| **remote_event_received_webhook_payload** | [**RemoteEventReceivedWebhookPayload**](RemoteEventReceivedWebhookPayload.md) | | |
### Return type
nil (empty response body)
### Authorization
[ApiKey](../README.md#ApiKey)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: Not defined
## webhook_sync_finished_webhook_payload
> webhook_sync_finished_webhook_payload(x_kombo_signature, sync_finished_webhook_payload)

File diff suppressed because one or more lines are too long

View file

@ -4,11 +4,11 @@
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **remote_id** | **String** | The candidate&#39;s identifier in the integrated system. | [optional] |
| **email** | **String** | The candidate&#39;s email address. | |
| **first_name** | **String** | The candidate&#39;s first name. | [optional] |
| **last_name** | **String** | The candidate&#39;s last name. | [optional] |
| **phone** | **String** | The candidate&#39;s phone number. | [optional] |
| **remote_id** | **String** | The candidate&#39;s identifier in the integrated system. | [optional] |
## Example
@ -16,11 +16,11 @@
require 'kombo_client'
instance = Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerCandidate.new(
remote_id: null,
email: null,
first_name: null,
last_name: null,
phone: null,
remote_id: null
phone: null
)
```

View file

@ -11,9 +11,11 @@
| **setup_status** | **String** | The setup_status is used in conjunction with the filtering and field mapping features. If these are enabled in the connection flow, the integration will start in an \&quot;INCOMPLETE\&quot; state and move to \&quot;COMPLETE\&quot; once all steps are finished. - &#x60;INCOMPLETE&#x60;: Setup is still in progress. Some steps arent finished, so no data is available yet. Syncs only run as needed for setup. - &#x60;FINAL_SYNC_PENDING&#x60;: Setup is complete, and the final sync is running. Data will be available after this sync is done. - &#x60;COMPLETED&#x60;: Setup is fully finished, and the integration is ready to use. | |
| **end_user** | [**GetIntegrationsIntegrationIdPositiveResponseDataEndUser**](GetIntegrationsIntegrationIdPositiveResponseDataEndUser.md) | | |
| **scope_config** | [**GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig**](GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig.md) | | |
| **data_expired_at** | **Time** | The date when the integration configuration (e.g. filters, scope config) was changed, invalidating the synced data. It is cleared after a successful sync. If this field is &#x60;null&#x60; the data you fetch is valid to the state of the last sync or webhook event received. Otherwise it will be set to &#x60;null&#x60; with the next successful sync. | |
| **created_at** | **Time** | YYYY-MM-DDTHH:mm:ss.sssZ | |
| **beta** | **Boolean** | | |
| **read_models** | [**Array&lt;GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner&gt;**](GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner.md) | | |
| **write_actions** | [**Array&lt;GetIntegrationsIntegrationIdPositiveResponseDataWriteActionsInner&gt;**](GetIntegrationsIntegrationIdPositiveResponseDataWriteActionsInner.md) | | |
## Example
@ -28,9 +30,11 @@ instance = Kombo::GetIntegrationsIntegrationIdPositiveResponseData.new(
setup_status: null,
end_user: null,
scope_config: null,
data_expired_at: null,
created_at: null,
beta: null,
read_models: null
read_models: null,
write_actions: null
)
```

View file

@ -0,0 +1,30 @@
# Kombo::GetIntegrationsIntegrationIdPositiveResponseDataWriteActionsInner
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **id** | **String** | ID of the action (e.g. ats_create_candidate). | |
| **label** | **String** | Label of the action (e.g. Create candidate). | |
| **is_available** | **Boolean** | Whether the datapoint is available and enabled and not opted out of. | |
| **coverage_status** | **String** | The status of a datapoint of an integrated tool: - &#x60;SUPPORTED&#x60;: the tool supports the datapoint and it can be used through Kombo. - &#x60;UNSUPPORTED&#x60;: the tool does not support the datapoint. - &#x60;NOT_IMPLEMENTED&#x60;: tool supports the datapoint but it was not integrated by Kombo for a given reason (see coverage grid). - &#x60;UNKNOWN&#x60;: the datapoint is not integrated yet and Kombo has no information about it&#39;s availability in the tool. | |
| **scope_config_setting** | **String** | The setting of the datapoint in the scope config that you configured in the Kombo dashboard. | |
| **opted_out_by_customer** | **Boolean** | Whether the datapoint is opted out by your customer in the connection flow. | |
| **fields** | [**Array&lt;GetIntegrationsIntegrationIdPositiveResponseDataWriteActionsInnerFieldsInner&gt;**](GetIntegrationsIntegrationIdPositiveResponseDataWriteActionsInnerFieldsInner.md) | Field support status for the action. Please note that action fields can&#39;t be configured in the scope config or opted out by your customer. | |
## Example
```ruby
require 'kombo_client'
instance = Kombo::GetIntegrationsIntegrationIdPositiveResponseDataWriteActionsInner.new(
id: null,
label: null,
is_available: null,
coverage_status: null,
scope_config_setting: null,
opted_out_by_customer: null,
fields: null
)
```

View file

@ -0,0 +1,22 @@
# Kombo::GetIntegrationsIntegrationIdPositiveResponseDataWriteActionsInnerFieldsInner
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **id** | **String** | Key of the input field (e.g. candidate.first_name). | |
| **is_available** | **Boolean** | Whether the datapoint is available and enabled and not opted out of. | |
| **coverage_status** | **String** | The status of a datapoint of an integrated tool: - &#x60;SUPPORTED&#x60;: the tool supports the datapoint and it can be used through Kombo. - &#x60;UNSUPPORTED&#x60;: the tool does not support the datapoint. - &#x60;NOT_IMPLEMENTED&#x60;: tool supports the datapoint but it was not integrated by Kombo for a given reason (see coverage grid). - &#x60;UNKNOWN&#x60;: the datapoint is not integrated yet and Kombo has no information about it&#39;s availability in the tool. | |
## Example
```ruby
require 'kombo_client'
instance = Kombo::GetIntegrationsIntegrationIdPositiveResponseDataWriteActionsInnerFieldsInner.new(
id: null,
is_available: null,
coverage_status: null
)
```

View file

@ -0,0 +1,15 @@
# Kombo::GetLmsCourseProgressionsParameterIncludeDeleted
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
## Example
```ruby
require 'kombo_client'
instance = Kombo::GetLmsCourseProgressionsParameterIncludeDeleted.new()
```

View file

@ -0,0 +1,20 @@
# Kombo::GetLmsCourseProgressionsPositiveResponse
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **status** | **String** | | |
| **data** | [**GetLmsCourseProgressionsPositiveResponseData**](GetLmsCourseProgressionsPositiveResponseData.md) | | |
## Example
```ruby
require 'kombo_client'
instance = Kombo::GetLmsCourseProgressionsPositiveResponse.new(
status: null,
data: null
)
```

View file

@ -0,0 +1,20 @@
# Kombo::GetLmsCourseProgressionsPositiveResponseData
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **_next** | **String** | Cursor string that can be passed to the &#x60;cursor&#x60; query parameter to get the next page. If this is &#x60;null&#x60;, then there are no more pages. | |
| **results** | [**Array&lt;GetLmsCourseProgressionsPositiveResponseDataResultsInner&gt;**](GetLmsCourseProgressionsPositiveResponseDataResultsInner.md) | | |
## Example
```ruby
require 'kombo_client'
instance = Kombo::GetLmsCourseProgressionsPositiveResponseData.new(
_next: null,
results: null
)
```

View file

@ -0,0 +1,40 @@
# Kombo::GetLmsCourseProgressionsPositiveResponseDataResultsInner
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
| **remote_id** | **String** | The raw ID of the object in the remote system. We don&#39;t recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn&#39;t provide a clear primary key. | |
| **user_id** | **String** | The Kombo ID of the user this progression relates to. The ID can be used to retrieve the user from the &#x60;get users&#x60; endpoint. | |
| **course_revision_id** | **String** | The Kombo ID of the revision this progression relates to. The ID can be used to retrieve the revision from the &#x60;get courses&#x60; endpoint. | |
| **status** | **String** | Current status of the learner in this course revision. | |
| **enrolled_at** | **Time** | Date when the user enrolled in the course revision. | |
| **completed_at** | **Time** | Date when the user completed the course revision. | |
| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the &#x60;updated_after&#x60; parameter which will return records when either the record itself OR its related models have been updated. | |
| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can&#39;t retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
| **remote_data** | **Hash&lt;String, Object&gt;** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: &#x60;{ \&quot;/companies\&quot;: { ... }}&#x60; This is not available on all plans. Reach out to Kombo if you need it. | |
| **user** | [**GetLmsCourseProgressionsPositiveResponseDataResultsInnerUser**](GetLmsCourseProgressionsPositiveResponseDataResultsInnerUser.md) | | |
| **course_revision** | [**GetLmsCourseProgressionsPositiveResponseDataResultsInnerCourseRevision**](GetLmsCourseProgressionsPositiveResponseDataResultsInnerCourseRevision.md) | | |
## Example
```ruby
require 'kombo_client'
instance = Kombo::GetLmsCourseProgressionsPositiveResponseDataResultsInner.new(
id: null,
remote_id: null,
user_id: null,
course_revision_id: null,
status: null,
enrolled_at: null,
completed_at: null,
changed_at: null,
remote_deleted_at: null,
remote_data: null,
user: null,
course_revision: null
)
```

View file

@ -0,0 +1,24 @@
# Kombo::GetLmsCourseProgressionsPositiveResponseDataResultsInnerCourseRevision
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
| **remote_id** | **String** | The raw ID of the object in the remote system. We don&#39;t recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn&#39;t provide a clear primary key. | |
| **title** | **String** | The title of the course revision. | |
| **course** | [**GetLmsCourseProgressionsPositiveResponseDataResultsInnerCourseRevisionCourse**](GetLmsCourseProgressionsPositiveResponseDataResultsInnerCourseRevisionCourse.md) | | |
## Example
```ruby
require 'kombo_client'
instance = Kombo::GetLmsCourseProgressionsPositiveResponseDataResultsInnerCourseRevision.new(
id: null,
remote_id: null,
title: null,
course: null
)
```

View file

@ -0,0 +1,20 @@
# Kombo::GetLmsCourseProgressionsPositiveResponseDataResultsInnerCourseRevisionCourse
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
| **remote_id** | **String** | The raw ID of the object in the remote system. We don&#39;t recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn&#39;t provide a clear primary key. | |
## Example
```ruby
require 'kombo_client'
instance = Kombo::GetLmsCourseProgressionsPositiveResponseDataResultsInnerCourseRevisionCourse.new(
id: null,
remote_id: null
)
```

View file

@ -0,0 +1,26 @@
# Kombo::GetLmsCourseProgressionsPositiveResponseDataResultsInnerUser
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
| **remote_id** | **String** | The raw ID of the object in the remote system. We don&#39;t recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn&#39;t provide a clear primary key. | |
| **first_name** | **String** | The user&#39;s first name. | |
| **last_name** | **String** | The user&#39;s last name. | |
| **work_email** | **String** | The user&#39;s work email address. | |
## Example
```ruby
require 'kombo_client'
instance = Kombo::GetLmsCourseProgressionsPositiveResponseDataResultsInnerUser.new(
id: null,
remote_id: null,
first_name: null,
last_name: null,
work_email: null
)
```

View file

@ -0,0 +1,15 @@
# Kombo::GetLmsCoursesParameterIncludeDeleted
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
## Example
```ruby
require 'kombo_client'
instance = Kombo::GetLmsCoursesParameterIncludeDeleted.new()
```

View file

@ -6,15 +6,15 @@
| ---- | ---- | ----------- | ----- |
| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
| **remote_id** | **String** | The raw ID of the object in the remote system. We don&#39;t recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn&#39;t provide a clear primary key. | |
| **title** | **String** | The title of the course. | |
| **description** | **String** | A description of the course. | |
| **url** | **String** | URL where the course can be accessed. | |
| **provider_id** | **String** | The Kombo ID of the course provider of this course, if applicable. | |
| **remote_created_at** | **Time** | The date and time the object was created in the remote system. | |
| **skills** | [**Array&lt;GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner&gt;**](GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner.md) | Skills that learners will develop by completing this course. | |
| **ordered_content** | [**Array&lt;GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner&gt;**](GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner.md) | Ordered list of content items that make up this course. | |
| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can&#39;t retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the &#x60;updated_after&#x60; parameter which will return records when either the record itself OR its related models have been updated. | |
| **remote_deleted_at** | **String** | Date when the course was deleted. | |
| **remote_data** | **Hash&lt;String, Object&gt;** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: &#x60;{ \&quot;/companies\&quot;: { ... }}&#x60; This is not available on all plans. Reach out to Kombo if you need it. | |
| **custom_fields** | **Hash&lt;String, Object&gt;** | A key-value store of fields not covered by the schema. [Read more](/custom-fields) | |
| **integration_fields** | [**Array&lt;GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner&gt;**](GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner.md) | An array of selected passthrough integration fields. [Read more](/integration-fields) | |
| **provider** | [**GetLmsCoursesPositiveResponseDataResultsInnerProvider**](GetLmsCoursesPositiveResponseDataResultsInnerProvider.md) | | |
| **revisions** | [**Array&lt;GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInner&gt;**](GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInner.md) | | |
## Example
@ -24,15 +24,15 @@ require 'kombo_client'
instance = Kombo::GetLmsCoursesPositiveResponseDataResultsInner.new(
id: null,
remote_id: null,
title: null,
description: null,
url: null,
provider_id: null,
remote_created_at: null,
skills: null,
ordered_content: null,
changed_at: null,
remote_deleted_at: null,
remote_data: null
changed_at: null,
remote_data: null,
custom_fields: null,
integration_fields: null,
provider: null,
revisions: null
)
```

View file

@ -0,0 +1,22 @@
# Kombo::GetLmsCoursesPositiveResponseDataResultsInnerProvider
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
| **remote_id** | **String** | The raw ID of the object in the remote system. We don&#39;t recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn&#39;t provide a clear primary key. | |
| **name** | **String** | The name of the provider. | |
## Example
```ruby
require 'kombo_client'
instance = Kombo::GetLmsCoursesPositiveResponseDataResultsInnerProvider.new(
id: null,
remote_id: null,
name: null
)
```

View file

@ -0,0 +1,42 @@
# Kombo::GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInner
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
| **remote_id** | **String** | The raw ID of the object in the remote system. We don&#39;t recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn&#39;t provide a clear primary key. | |
| **course_id** | **String** | The Kombo ID of the course this revision belongs to. The ID can be used to retrieve the course from the &#x60;get courses&#x60; endpoint. | |
| **title** | **String** | The title of the course revision. | |
| **description** | **String** | A description of the course revision. | |
| **status** | **String** | The status of this revision (ACTIVE or INACTIVE). | |
| **remote_created_at** | **Time** | The date and time the object was created in the remote system. | |
| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can&#39;t retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the &#x60;updated_after&#x60; parameter which will return records when either the record itself OR its related models have been updated. | |
| **remote_data** | **Hash&lt;String, Object&gt;** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: &#x60;{ \&quot;/companies\&quot;: { ... }}&#x60; This is not available on all plans. Reach out to Kombo if you need it. | |
| **custom_fields** | **Hash&lt;String, Object&gt;** | A key-value store of fields not covered by the schema. [Read more](/custom-fields) | |
| **integration_fields** | [**Array&lt;GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner&gt;**](GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner.md) | An array of selected passthrough integration fields. [Read more](/integration-fields) | |
| **skill_assignments** | [**Array&lt;GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInnerSkillAssignmentsInner&gt;**](GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInnerSkillAssignmentsInner.md) | | |
## Example
```ruby
require 'kombo_client'
instance = Kombo::GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInner.new(
id: null,
remote_id: null,
course_id: null,
title: null,
description: null,
status: null,
remote_created_at: null,
remote_deleted_at: null,
changed_at: null,
remote_data: null,
custom_fields: null,
integration_fields: null,
skill_assignments: null
)
```

View file

@ -0,0 +1,18 @@
# Kombo::GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInnerSkillAssignmentsInner
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **skill** | [**GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInnerSkillAssignmentsInnerSkill**](GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInnerSkillAssignmentsInnerSkill.md) | | |
## Example
```ruby
require 'kombo_client'
instance = Kombo::GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInnerSkillAssignmentsInner.new(
skill: null
)
```

View file

@ -0,0 +1,22 @@
# Kombo::GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInnerSkillAssignmentsInnerSkill
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
| **remote_id** | **String** | The raw ID of the object in the remote system. We don&#39;t recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn&#39;t provide a clear primary key. | |
| **name** | **String** | The name of the skill. | |
## Example
```ruby
require 'kombo_client'
instance = Kombo::GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInnerSkillAssignmentsInnerSkill.new(
id: null,
remote_id: null,
name: null
)
```

View file

@ -0,0 +1,15 @@
# Kombo::GetLmsSkillsParameterIncludeDeleted
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
## Example
```ruby
require 'kombo_client'
instance = Kombo::GetLmsSkillsParameterIncludeDeleted.new()
```

View file

@ -0,0 +1,20 @@
# Kombo::GetLmsSkillsPositiveResponse
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **status** | **String** | | |
| **data** | [**GetLmsSkillsPositiveResponseData**](GetLmsSkillsPositiveResponseData.md) | | |
## Example
```ruby
require 'kombo_client'
instance = Kombo::GetLmsSkillsPositiveResponse.new(
status: null,
data: null
)
```

View file

@ -0,0 +1,20 @@
# Kombo::GetLmsSkillsPositiveResponseData
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **_next** | **String** | Cursor string that can be passed to the &#x60;cursor&#x60; query parameter to get the next page. If this is &#x60;null&#x60;, then there are no more pages. | |
| **results** | [**Array&lt;GetLmsSkillsPositiveResponseDataResultsInner&gt;**](GetLmsSkillsPositiveResponseDataResultsInner.md) | | |
## Example
```ruby
require 'kombo_client'
instance = Kombo::GetLmsSkillsPositiveResponseData.new(
_next: null,
results: null
)
```

View file

@ -0,0 +1,34 @@
# Kombo::GetLmsSkillsPositiveResponseDataResultsInner
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
| **remote_id** | **String** | The raw ID of the object in the remote system. We don&#39;t recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn&#39;t provide a clear primary key. | |
| **name** | **String** | The name of the skill. | |
| **remote_created_at** | **Time** | The date and time the object was created in the remote system. | |
| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can&#39;t retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the &#x60;updated_after&#x60; parameter which will return records when either the record itself OR its related models have been updated. | |
| **remote_data** | **Hash&lt;String, Object&gt;** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: &#x60;{ \&quot;/companies\&quot;: { ... }}&#x60; This is not available on all plans. Reach out to Kombo if you need it. | |
| **custom_fields** | **Hash&lt;String, Object&gt;** | A key-value store of fields not covered by the schema. [Read more](/custom-fields) | |
| **integration_fields** | [**Array&lt;GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner&gt;**](GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner.md) | An array of selected passthrough integration fields. [Read more](/integration-fields) | |
## Example
```ruby
require 'kombo_client'
instance = Kombo::GetLmsSkillsPositiveResponseDataResultsInner.new(
id: null,
remote_id: null,
name: null,
remote_created_at: null,
remote_deleted_at: null,
changed_at: null,
remote_data: null,
custom_fields: null,
integration_fields: null
)
```

View file

@ -0,0 +1,15 @@
# Kombo::GetLmsUsersParameterIncludeDeleted
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
## Example
```ruby
require 'kombo_client'
instance = Kombo::GetLmsUsersParameterIncludeDeleted.new()
```

View file

@ -11,9 +11,11 @@
| **work_email** | **String** | The user&#39;s work email address. | |
| **status** | **String** | Current status of the user in the LMS. | |
| **remote_created_at** | **Time** | The date and time the object was created in the remote system. | |
| **progress** | [**Array&lt;GetLmsUsersPositiveResponseDataResultsInnerProgressInner&gt;**](GetLmsUsersPositiveResponseDataResultsInnerProgressInner.md) | Array of course progress records for this user. | |
| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can&#39;t retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the &#x60;updated_after&#x60; parameter which will return records when either the record itself OR its related models have been updated. | |
| **remote_data** | **Hash&lt;String, Object&gt;** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: &#x60;{ \&quot;/companies\&quot;: { ... }}&#x60; This is not available on all plans. Reach out to Kombo if you need it. | |
| **custom_fields** | **Hash&lt;String, Object&gt;** | A key-value store of fields not covered by the schema. [Read more](/custom-fields) | |
| **integration_fields** | [**Array&lt;GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner&gt;**](GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner.md) | An array of selected passthrough integration fields. [Read more](/integration-fields) | |
## Example
@ -28,9 +30,11 @@ instance = Kombo::GetLmsUsersPositiveResponseDataResultsInner.new(
work_email: null,
status: null,
remote_created_at: null,
progress: null,
remote_deleted_at: null,
changed_at: null,
remote_data: null
remote_data: null,
custom_fields: null,
integration_fields: null
)
```

View file

@ -7,6 +7,7 @@
| **id** | **String** | | |
| **label** | **String** | | |
| **coverage_status** | **String** | The status of a datapoint of an integrated tool: - &#x60;SUPPORTED&#x60;: the tool supports the datapoint and it can be used through Kombo. - &#x60;UNSUPPORTED&#x60;: the tool does not support the datapoint. - &#x60;NOT_IMPLEMENTED&#x60;: tool supports the datapoint but it was not integrated by Kombo for a given reason (see coverage grid). - &#x60;UNKNOWN&#x60;: the datapoint is not integrated yet and Kombo has no information about it&#39;s availability in the tool. | |
| **fields** | [**Array&lt;GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInnerFieldsInner&gt;**](GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInnerFieldsInner.md) | | |
## Example
@ -16,7 +17,8 @@ require 'kombo_client'
instance = Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInner.new(
id: null,
label: null,
coverage_status: null
coverage_status: null,
fields: null
)
```

View file

@ -0,0 +1,20 @@
# Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInnerFieldsInner
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **id** | **String** | Key of the input field (e.g. &#x60;candidate.first_name&#x60;). | |
| **coverage_status** | **String** | The status of a datapoint of an integrated tool: - &#x60;SUPPORTED&#x60;: the tool supports the datapoint and it can be used through Kombo. - &#x60;UNSUPPORTED&#x60;: the tool does not support the datapoint. - &#x60;NOT_IMPLEMENTED&#x60;: tool supports the datapoint but it was not integrated by Kombo for a given reason (see coverage grid). - &#x60;UNKNOWN&#x60;: the datapoint is not integrated yet and Kombo has no information about it&#39;s availability in the tool. | |
## Example
```ruby
require 'kombo_client'
instance = Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInnerFieldsInner.new(
id: null,
coverage_status: null
)
```

View file

@ -6,7 +6,7 @@
| ---- | ---- | ----------- | ----- |
| **integration_tool** | **String** | The name of the integrated tool (e.g., \&quot;personio\&quot;, \&quot;greenhouse\&quot;). | |
| **integration_id** | **String** | The unique identifier of the integration. | |
| **integration_category** | **String** | The category of the integration (HRIS, ATS, or ASSESSMENT). | |
| **integration_category** | **String** | The category of the integration (HRIS, ATS, ASSESSMENT, or LMS). | |
| **end_user** | [**ConnectionFlowFailedWebhookPayloadDataEndUser**](ConnectionFlowFailedWebhookPayloadDataEndUser.md) | | |
| **qa_status** | **String** | The quality assurance status of the integration. | |
| **state** | **String** | The current state of the integration. | |

View file

@ -7,6 +7,7 @@
| **city** | **String** | | [optional] |
| **country** | **String** | The uppercase two-letter ISO country (e.g., &#x60;DE&#x60;). For systems that use codes in formats other than &#x60;ISO 3166-1 alpha-2&#x60;, Kombo transforms the ISO Codes to the appropriate value. | |
| **state** | **String** | | [optional] |
| **street_1** | **String** | | [optional] |
| **zip_code** | **String** | | [optional] |
## Example
@ -18,6 +19,7 @@ instance = Kombo::PostAtsCandidatesRequestBodyCandidateLocation.new(
city: null,
country: null,
state: null,
street_1: null,
zip_code: null
)
```

View file

@ -24,6 +24,7 @@
| **recruitee** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee.md) | | [optional] |
| **umantis** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis.md) | | [optional] |
| **piloga** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga.md) | | [optional] |
| **pinpoint** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfPinpoint**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfPinpoint.md) | | [optional] |
## Example
@ -50,7 +51,8 @@ instance = Kombo::PostAtsCandidatesRequestBodyRemoteFields.new(
avature: null,
recruitee: null,
umantis: null,
piloga: null
piloga: null,
pinpoint: null
)
```

View file

@ -0,0 +1,18 @@
# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPinpoint
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **candidate** | **Hash&lt;String, Object&gt;** | Fields that we will pass through to Pinpoint&#39;s &#x60;Candidate&#x60; object. | [optional] |
## Example
```ruby
require 'kombo_client'
instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPinpoint.new(
candidate: null
)
```

View file

@ -5,8 +5,8 @@
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **id** | **String** | The Kombo id of the created employee. If null, we only created a pre-hire which shows up in the next sync after a successful onboarding. | |
| **remote_id** | **String** | The raw ID of the created employee in the remote system. This is only populated when &#x60;id&#x60; is set (i.e., when a full employee was created). For pre-hires, use &#x60;prehire_id&#x60; instead. | |
| **prehire_id** | **String** | The temporary ID returned by the remote system when creating a pre-hire. This ID may change or become invalid when the pre-hire becomes a full employee. Only populated when &#x60;id&#x60; is null. | |
| **remote_id** | **String** | The raw ID of the created employee in the remote system. This is only populated when &#x60;id&#x60; is set (i.e., when a full employee was created). For pre-hires, use the &#x60;prehire&#x60; object instead. | |
| **prehire** | [**PostHrisEmployeesFormPositiveResponseDataPrehire**](PostHrisEmployeesFormPositiveResponseDataPrehire.md) | | |
## Example
@ -16,7 +16,7 @@ require 'kombo_client'
instance = Kombo::PostHrisEmployeesFormPositiveResponseData.new(
id: null,
remote_id: null,
prehire_id: null
prehire: null
)
```

View file

@ -0,0 +1,18 @@
# Kombo::PostHrisEmployeesFormPositiveResponseDataPrehire
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **remote_id** | **String** | The temporary ID returned by the remote system when creating a pre-hire. | |
## Example
```ruby
require 'kombo_client'
instance = Kombo::PostHrisEmployeesFormPositiveResponseDataPrehire.new(
remote_id: null
)
```

View file

@ -0,0 +1,22 @@
# Kombo::PostLmsCourseProgressionsCourseProgressionIdCompletePositiveResponse
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **status** | **String** | | |
| **data** | [**GetLmsCourseProgressionsPositiveResponseDataResultsInner**](GetLmsCourseProgressionsPositiveResponseDataResultsInner.md) | | |
| **warnings** | [**Array&lt;PostPassthroughToolApiPositiveResponseWarningsInner&gt;**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
## Example
```ruby
require 'kombo_client'
instance = Kombo::PostLmsCourseProgressionsCourseProgressionIdCompletePositiveResponse.new(
status: null,
data: null,
warnings: null
)
```

View file

@ -0,0 +1,18 @@
# Kombo::PostLmsCourseProgressionsCourseProgressionIdCompleteRequestBody
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **completed_at** | **Time** | Date when the user completed the course revision. Defaults to the current date if not provided. | [optional] |
## Example
```ruby
require 'kombo_client'
instance = Kombo::PostLmsCourseProgressionsCourseProgressionIdCompleteRequestBody.new(
completed_at: null
)
```

View file

@ -0,0 +1,22 @@
# Kombo::PostLmsCourseProgressionsPositiveResponse
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **status** | **String** | | |
| **data** | [**GetLmsCourseProgressionsPositiveResponseDataResultsInner**](GetLmsCourseProgressionsPositiveResponseDataResultsInner.md) | | |
| **warnings** | [**Array&lt;PostPassthroughToolApiPositiveResponseWarningsInner&gt;**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
## Example
```ruby
require 'kombo_client'
instance = Kombo::PostLmsCourseProgressionsPositiveResponse.new(
status: null,
data: null,
warnings: null
)
```

View file

@ -0,0 +1,20 @@
# Kombo::PostLmsCourseProgressionsRequestBody
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **user_id** | **String** | The ID of the user in Kombo or their ID in the remote system by prefixing it with &#x60;remote:&#x60; (e.g., &#x60;remote:12312&#x60;) | |
| **course_revision_id** | **String** | The ID of the revision in Kombo or its ID in the remote system by prefixing it with &#x60;remote:&#x60; (e.g., &#x60;remote:12312&#x60;) | |
## Example
```ruby
require 'kombo_client'
instance = Kombo::PostLmsCourseProgressionsRequestBody.new(
user_id: null,
course_revision_id: null
)
```

View file

@ -6,6 +6,7 @@
| ---- | ---- | ----------- | ----- |
| **status** | **String** | | |
| **data** | [**GetLmsCoursesPositiveResponseDataResultsInner**](GetLmsCoursesPositiveResponseDataResultsInner.md) | | |
| **warnings** | [**Array&lt;PostPassthroughToolApiPositiveResponseWarningsInner&gt;**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
## Example
@ -14,7 +15,8 @@ require 'kombo_client'
instance = Kombo::PostLmsCoursesPositiveResponse.new(
status: null,
data: null
data: null,
warnings: null
)
```

View file

@ -4,10 +4,7 @@
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **title** | **String** | The title of the course | |
| **description** | **String** | A description of the course | [optional] |
| **url** | **String** | URL where the course can be accessed | [optional] |
| **skills** | [**Array&lt;PostLmsCoursesRequestBodySkillsInner&gt;**](PostLmsCoursesRequestBodySkillsInner.md) | Skills that will be taught in this course | [optional] |
| **course** | [**PostLmsCoursesRequestBodyCourse**](PostLmsCoursesRequestBodyCourse.md) | | |
## Example
@ -15,10 +12,7 @@
require 'kombo_client'
instance = Kombo::PostLmsCoursesRequestBody.new(
title: null,
description: null,
url: null,
skills: null
course: null
)
```

View file

@ -0,0 +1,26 @@
# Kombo::PostLmsCoursesRequestBodyCourse
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **type** | **String** | &#x60;EXTERNAL&#x60; indicates that the content is not sent to the LMS, but the &#x60;course_url&#x60; links to the content in your system. | |
| **title** | **String** | The title of the course revision. | |
| **description** | **String** | A description of the course revision. | [optional] |
| **course_url** | **String** | URL to the course page. For content providers, this should be a deeplink into your product that allows users to access the course directly. | |
| **thumbnail_url** | **String** | URL to the thumbnail image for the course. | [optional] |
## Example
```ruby
require 'kombo_client'
instance = Kombo::PostLmsCoursesRequestBodyCourse.new(
type: null,
title: null,
description: null,
course_url: null,
thumbnail_url: null
)
```

View file

@ -11,7 +11,7 @@
| **sync_duration_seconds** | **Integer** | Duration of the sync operation in seconds. | |
| **integration_id** | **String** | The unique identifier of the integration. | |
| **integration_tool** | **String** | The name of the integrated tool (e.g., \&quot;personio\&quot;, \&quot;greenhouse\&quot;). | |
| **integration_category** | **String** | The category of the integration (HRIS, ATS, or ASSESSMENT). | |
| **integration_category** | **String** | The category of the integration (HRIS, ATS, ASSESSMENT, or LMS). | |
| **end_user** | [**ConnectionFlowFailedWebhookPayloadDataEndUser**](ConnectionFlowFailedWebhookPayloadDataEndUser.md) | | |
| **log_url** | **String** | URL to view detailed logs for the operation. | |

571
docs/UnifiedLMSAPIApi.md Normal file
View file

@ -0,0 +1,571 @@
# Kombo::UnifiedLMSAPIApi
All URIs are relative to *https://api.kombo.dev/v1*
| Method | HTTP request | Description |
| ------ | ------------ | ----------- |
| [**get_lms_course_progressions**](UnifiedLMSAPIApi.md#get_lms_course_progressions) | **GET** /lms/course-progressions | Get course progressions |
| [**get_lms_courses**](UnifiedLMSAPIApi.md#get_lms_courses) | **GET** /lms/courses | Get courses |
| [**get_lms_skills**](UnifiedLMSAPIApi.md#get_lms_skills) | **GET** /lms/skills | Get skills |
| [**get_lms_users**](UnifiedLMSAPIApi.md#get_lms_users) | **GET** /lms/users | Get users |
| [**post_lms_course_progressions**](UnifiedLMSAPIApi.md#post_lms_course_progressions) | **POST** /lms/course-progressions | Enroll user in course |
| [**post_lms_course_progressions_course_progression_id_complete**](UnifiedLMSAPIApi.md#post_lms_course_progressions_course_progression_id_complete) | **POST** /lms/course-progressions/{course_progression_id}/complete | Complete course |
| [**post_lms_courses**](UnifiedLMSAPIApi.md#post_lms_courses) | **POST** /lms/courses | Create course |
## get_lms_course_progressions
> <GetLmsCourseProgressionsPositiveResponse> get_lms_course_progressions(x_integration_id, opts)
Get course progressions
Get course progressions Retrieve all course progressions from the LMS system. Course progressions track users enrollment and completion status in courses. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
### Examples
```ruby
require 'time'
require 'kombo_client'
# setup authorization
Kombo.configure do |config|
# Configure Bearer authorization: ApiKey
config.access_token = 'YOUR_BEARER_TOKEN'
end
api_instance = Kombo::UnifiedLMSAPIApi.new
x_integration_id = 'bombohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
opts = {
cursor: 'cursor_example', # String | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.
page_size: 789, # Integer | The number of results to return per page. Maximum is 250.
updated_after: Time.parse('2013-10-20T19:20:30+01:00'), # Time | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
include_deleted: Kombo::GetLmsCourseProgressionsParameterIncludeDeleted::TRUE, # GetLmsCourseProgressionsParameterIncludeDeleted | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.
ids: 'ids_example', # String | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
remote_ids: 'remote_ids_example', # String | Filter by a comma-separated list of remote IDs.
user_ids: 'user_ids_example' # String | Filter by a comma-separated list of user IDs. We will only return progressions that are related to _any_ of the users.
}
begin
# Get course progressions
result = api_instance.get_lms_course_progressions(x_integration_id, opts)
p result
rescue Kombo::ApiError => e
puts "Error when calling UnifiedLMSAPIApi->get_lms_course_progressions: #{e}"
end
```
#### Using the get_lms_course_progressions_with_http_info variant
This returns an Array which contains the response data, status code and headers.
> <Array(<GetLmsCourseProgressionsPositiveResponse>, Integer, Hash)> get_lms_course_progressions_with_http_info(x_integration_id, opts)
```ruby
begin
# Get course progressions
data, status_code, headers = api_instance.get_lms_course_progressions_with_http_info(x_integration_id, opts)
p status_code # => 2xx
p headers # => { ... }
p data # => <GetLmsCourseProgressionsPositiveResponse>
rescue Kombo::ApiError => e
puts "Error when calling UnifiedLMSAPIApi->get_lms_course_progressions_with_http_info: #{e}"
end
```
### Parameters
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
| **cursor** | **String** | An optional cursor string used for pagination. This can be retrieved from the &#x60;next&#x60; property of the previous page response. | [optional] |
| **page_size** | **Integer** | The number of results to return per page. Maximum is 250. | [optional][default to 100] |
| **updated_after** | **Time** | Filter the entries based on the modification date in format &#x60;YYYY-MM-DDTHH:mm:ss.sssZ&#x60;. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record&#39;s own &#x60;changed_at&#x60; field remains unchanged. If you want to track entry deletion, also set the &#x60;include_deleted&#x3D;true&#x60; query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior). | [optional] |
| **include_deleted** | [**GetLmsCourseProgressionsParameterIncludeDeleted**](.md) | By default, deleted entries are not returned. Use the &#x60;include_deleted&#x60; query param to include deleted entries too. | [optional][default to &#39;false&#39;] |
| **ids** | **String** | Filter by a comma-separated list of IDs such as &#x60;222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3&#x60;. | [optional] |
| **remote_ids** | **String** | Filter by a comma-separated list of remote IDs. | [optional] |
| **user_ids** | **String** | Filter by a comma-separated list of user IDs. We will only return progressions that are related to _any_ of the users. | [optional] |
### Return type
[**GetLmsCourseProgressionsPositiveResponse**](GetLmsCourseProgressionsPositiveResponse.md)
### Authorization
[ApiKey](../README.md#ApiKey)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
## get_lms_courses
> <GetLmsCoursesPositiveResponse> get_lms_courses(x_integration_id, opts)
Get courses
Get courses Retrieve all courses available in the LMS. Courses are structured learning programs that users can enroll in and complete. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
### Examples
```ruby
require 'time'
require 'kombo_client'
# setup authorization
Kombo.configure do |config|
# Configure Bearer authorization: ApiKey
config.access_token = 'YOUR_BEARER_TOKEN'
end
api_instance = Kombo::UnifiedLMSAPIApi.new
x_integration_id = 'bombohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
opts = {
cursor: 'cursor_example', # String | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.
page_size: 789, # Integer | The number of results to return per page. Maximum is 250.
updated_after: Time.parse('2013-10-20T19:20:30+01:00'), # Time | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
include_deleted: Kombo::GetLmsCoursesParameterIncludeDeleted::TRUE, # GetLmsCoursesParameterIncludeDeleted | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.
ids: 'ids_example', # String | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
remote_ids: 'remote_ids_example' # String | Filter by a comma-separated list of remote IDs.
}
begin
# Get courses
result = api_instance.get_lms_courses(x_integration_id, opts)
p result
rescue Kombo::ApiError => e
puts "Error when calling UnifiedLMSAPIApi->get_lms_courses: #{e}"
end
```
#### Using the get_lms_courses_with_http_info variant
This returns an Array which contains the response data, status code and headers.
> <Array(<GetLmsCoursesPositiveResponse>, Integer, Hash)> get_lms_courses_with_http_info(x_integration_id, opts)
```ruby
begin
# Get courses
data, status_code, headers = api_instance.get_lms_courses_with_http_info(x_integration_id, opts)
p status_code # => 2xx
p headers # => { ... }
p data # => <GetLmsCoursesPositiveResponse>
rescue Kombo::ApiError => e
puts "Error when calling UnifiedLMSAPIApi->get_lms_courses_with_http_info: #{e}"
end
```
### Parameters
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
| **cursor** | **String** | An optional cursor string used for pagination. This can be retrieved from the &#x60;next&#x60; property of the previous page response. | [optional] |
| **page_size** | **Integer** | The number of results to return per page. Maximum is 250. | [optional][default to 100] |
| **updated_after** | **Time** | Filter the entries based on the modification date in format &#x60;YYYY-MM-DDTHH:mm:ss.sssZ&#x60;. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record&#39;s own &#x60;changed_at&#x60; field remains unchanged. If you want to track entry deletion, also set the &#x60;include_deleted&#x3D;true&#x60; query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior). | [optional] |
| **include_deleted** | [**GetLmsCoursesParameterIncludeDeleted**](.md) | By default, deleted entries are not returned. Use the &#x60;include_deleted&#x60; query param to include deleted entries too. | [optional][default to &#39;false&#39;] |
| **ids** | **String** | Filter by a comma-separated list of IDs such as &#x60;222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3&#x60;. | [optional] |
| **remote_ids** | **String** | Filter by a comma-separated list of remote IDs. | [optional] |
### Return type
[**GetLmsCoursesPositiveResponse**](GetLmsCoursesPositiveResponse.md)
### Authorization
[ApiKey](../README.md#ApiKey)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
## get_lms_skills
> <GetLmsSkillsPositiveResponse> get_lms_skills(x_integration_id, opts)
Get skills
Get skills Retrieve all skills available in the LMS system. Skills represent competencies or abilities that users can acquire or demonstrate through courses. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
### Examples
```ruby
require 'time'
require 'kombo_client'
# setup authorization
Kombo.configure do |config|
# Configure Bearer authorization: ApiKey
config.access_token = 'YOUR_BEARER_TOKEN'
end
api_instance = Kombo::UnifiedLMSAPIApi.new
x_integration_id = 'bombohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
opts = {
cursor: 'cursor_example', # String | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.
page_size: 789, # Integer | The number of results to return per page. Maximum is 250.
updated_after: Time.parse('2013-10-20T19:20:30+01:00'), # Time | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
include_deleted: Kombo::GetLmsSkillsParameterIncludeDeleted::TRUE, # GetLmsSkillsParameterIncludeDeleted | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.
ids: 'ids_example', # String | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
remote_ids: 'remote_ids_example' # String | Filter by a comma-separated list of remote IDs.
}
begin
# Get skills
result = api_instance.get_lms_skills(x_integration_id, opts)
p result
rescue Kombo::ApiError => e
puts "Error when calling UnifiedLMSAPIApi->get_lms_skills: #{e}"
end
```
#### Using the get_lms_skills_with_http_info variant
This returns an Array which contains the response data, status code and headers.
> <Array(<GetLmsSkillsPositiveResponse>, Integer, Hash)> get_lms_skills_with_http_info(x_integration_id, opts)
```ruby
begin
# Get skills
data, status_code, headers = api_instance.get_lms_skills_with_http_info(x_integration_id, opts)
p status_code # => 2xx
p headers # => { ... }
p data # => <GetLmsSkillsPositiveResponse>
rescue Kombo::ApiError => e
puts "Error when calling UnifiedLMSAPIApi->get_lms_skills_with_http_info: #{e}"
end
```
### Parameters
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
| **cursor** | **String** | An optional cursor string used for pagination. This can be retrieved from the &#x60;next&#x60; property of the previous page response. | [optional] |
| **page_size** | **Integer** | The number of results to return per page. Maximum is 250. | [optional][default to 100] |
| **updated_after** | **Time** | Filter the entries based on the modification date in format &#x60;YYYY-MM-DDTHH:mm:ss.sssZ&#x60;. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record&#39;s own &#x60;changed_at&#x60; field remains unchanged. If you want to track entry deletion, also set the &#x60;include_deleted&#x3D;true&#x60; query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior). | [optional] |
| **include_deleted** | [**GetLmsSkillsParameterIncludeDeleted**](.md) | By default, deleted entries are not returned. Use the &#x60;include_deleted&#x60; query param to include deleted entries too. | [optional][default to &#39;false&#39;] |
| **ids** | **String** | Filter by a comma-separated list of IDs such as &#x60;222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3&#x60;. | [optional] |
| **remote_ids** | **String** | Filter by a comma-separated list of remote IDs. | [optional] |
### Return type
[**GetLmsSkillsPositiveResponse**](GetLmsSkillsPositiveResponse.md)
### Authorization
[ApiKey](../README.md#ApiKey)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
## get_lms_users
> <GetLmsUsersPositiveResponse> get_lms_users(x_integration_id, opts)
Get users
Get users Retrieve all users from the LMS system. Users are learners who can enroll in and complete courses. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
### Examples
```ruby
require 'time'
require 'kombo_client'
# setup authorization
Kombo.configure do |config|
# Configure Bearer authorization: ApiKey
config.access_token = 'YOUR_BEARER_TOKEN'
end
api_instance = Kombo::UnifiedLMSAPIApi.new
x_integration_id = 'bombohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
opts = {
cursor: 'cursor_example', # String | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.
page_size: 789, # Integer | The number of results to return per page. Maximum is 250.
updated_after: Time.parse('2013-10-20T19:20:30+01:00'), # Time | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
include_deleted: Kombo::GetLmsUsersParameterIncludeDeleted::TRUE, # GetLmsUsersParameterIncludeDeleted | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.
ids: 'ids_example', # String | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
remote_ids: 'remote_ids_example', # String | Filter by a comma-separated list of remote IDs.
work_emails: 'work_emails_example' # String | Filter by a comma-separated list of work emails. We will only return users who have _any_ of the work emails. The format of the emails is case-insensitive.
}
begin
# Get users
result = api_instance.get_lms_users(x_integration_id, opts)
p result
rescue Kombo::ApiError => e
puts "Error when calling UnifiedLMSAPIApi->get_lms_users: #{e}"
end
```
#### Using the get_lms_users_with_http_info variant
This returns an Array which contains the response data, status code and headers.
> <Array(<GetLmsUsersPositiveResponse>, Integer, Hash)> get_lms_users_with_http_info(x_integration_id, opts)
```ruby
begin
# Get users
data, status_code, headers = api_instance.get_lms_users_with_http_info(x_integration_id, opts)
p status_code # => 2xx
p headers # => { ... }
p data # => <GetLmsUsersPositiveResponse>
rescue Kombo::ApiError => e
puts "Error when calling UnifiedLMSAPIApi->get_lms_users_with_http_info: #{e}"
end
```
### Parameters
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
| **cursor** | **String** | An optional cursor string used for pagination. This can be retrieved from the &#x60;next&#x60; property of the previous page response. | [optional] |
| **page_size** | **Integer** | The number of results to return per page. Maximum is 250. | [optional][default to 100] |
| **updated_after** | **Time** | Filter the entries based on the modification date in format &#x60;YYYY-MM-DDTHH:mm:ss.sssZ&#x60;. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record&#39;s own &#x60;changed_at&#x60; field remains unchanged. If you want to track entry deletion, also set the &#x60;include_deleted&#x3D;true&#x60; query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior). | [optional] |
| **include_deleted** | [**GetLmsUsersParameterIncludeDeleted**](.md) | By default, deleted entries are not returned. Use the &#x60;include_deleted&#x60; query param to include deleted entries too. | [optional][default to &#39;false&#39;] |
| **ids** | **String** | Filter by a comma-separated list of IDs such as &#x60;222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3&#x60;. | [optional] |
| **remote_ids** | **String** | Filter by a comma-separated list of remote IDs. | [optional] |
| **work_emails** | **String** | Filter by a comma-separated list of work emails. We will only return users who have _any_ of the work emails. The format of the emails is case-insensitive. | [optional] |
### Return type
[**GetLmsUsersPositiveResponse**](GetLmsUsersPositiveResponse.md)
### Authorization
[ApiKey](../README.md#ApiKey)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
## post_lms_course_progressions
> <PostLmsCourseProgressionsPositiveResponse> post_lms_course_progressions(x_integration_id, opts)
Enroll user in course
Enroll a user in a course revision. <Note> This endpoint requires the permission **Create and manage course progressions** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"user_id\": \"7xPdr68N8kG9EzLwjsN9xyz\", \"course_revision_id\": \"3KMdr68N8kG9EzLwjsN9aoz\" } ```
### Examples
```ruby
require 'time'
require 'kombo_client'
# setup authorization
Kombo.configure do |config|
# Configure Bearer authorization: ApiKey
config.access_token = 'YOUR_BEARER_TOKEN'
end
api_instance = Kombo::UnifiedLMSAPIApi.new
x_integration_id = 'bombohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
opts = {
post_lms_course_progressions_request_body: Kombo::PostLmsCourseProgressionsRequestBody.new({user_id: 'user_id_example', course_revision_id: 'course_revision_id_example'}) # PostLmsCourseProgressionsRequestBody | POST /lms/course-progressions Request body
}
begin
# Enroll user in course
result = api_instance.post_lms_course_progressions(x_integration_id, opts)
p result
rescue Kombo::ApiError => e
puts "Error when calling UnifiedLMSAPIApi->post_lms_course_progressions: #{e}"
end
```
#### Using the post_lms_course_progressions_with_http_info variant
This returns an Array which contains the response data, status code and headers.
> <Array(<PostLmsCourseProgressionsPositiveResponse>, Integer, Hash)> post_lms_course_progressions_with_http_info(x_integration_id, opts)
```ruby
begin
# Enroll user in course
data, status_code, headers = api_instance.post_lms_course_progressions_with_http_info(x_integration_id, opts)
p status_code # => 2xx
p headers # => { ... }
p data # => <PostLmsCourseProgressionsPositiveResponse>
rescue Kombo::ApiError => e
puts "Error when calling UnifiedLMSAPIApi->post_lms_course_progressions_with_http_info: #{e}"
end
```
### Parameters
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
| **post_lms_course_progressions_request_body** | [**PostLmsCourseProgressionsRequestBody**](PostLmsCourseProgressionsRequestBody.md) | POST /lms/course-progressions Request body | [optional] |
### Return type
[**PostLmsCourseProgressionsPositiveResponse**](PostLmsCourseProgressionsPositiveResponse.md)
### Authorization
[ApiKey](../README.md#ApiKey)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## post_lms_course_progressions_course_progression_id_complete
> <PostLmsCourseProgressionsCourseProgressionIdCompletePositiveResponse> post_lms_course_progressions_course_progression_id_complete(x_integration_id, course_progression_id, opts)
Complete course
Mark a course revision as completed for a user. <Note> This endpoint requires the permission **Create and manage course progressions** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"completed_at\": \"2024-04-15\" } ```
### Examples
```ruby
require 'time'
require 'kombo_client'
# setup authorization
Kombo.configure do |config|
# Configure Bearer authorization: ApiKey
config.access_token = 'YOUR_BEARER_TOKEN'
end
api_instance = Kombo::UnifiedLMSAPIApi.new
x_integration_id = 'bombohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
course_progression_id = '26vafvWSRmbhNcxJYqjCzuJg' # String | The ID of the course progression in Kombo or its ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`)
opts = {
post_lms_course_progressions_course_progression_id_complete_request_body: Kombo::PostLmsCourseProgressionsCourseProgressionIdCompleteRequestBody.new # PostLmsCourseProgressionsCourseProgressionIdCompleteRequestBody | POST /lms/course-progressions/:course_progression_id/complete Request body
}
begin
# Complete course
result = api_instance.post_lms_course_progressions_course_progression_id_complete(x_integration_id, course_progression_id, opts)
p result
rescue Kombo::ApiError => e
puts "Error when calling UnifiedLMSAPIApi->post_lms_course_progressions_course_progression_id_complete: #{e}"
end
```
#### Using the post_lms_course_progressions_course_progression_id_complete_with_http_info variant
This returns an Array which contains the response data, status code and headers.
> <Array(<PostLmsCourseProgressionsCourseProgressionIdCompletePositiveResponse>, Integer, Hash)> post_lms_course_progressions_course_progression_id_complete_with_http_info(x_integration_id, course_progression_id, opts)
```ruby
begin
# Complete course
data, status_code, headers = api_instance.post_lms_course_progressions_course_progression_id_complete_with_http_info(x_integration_id, course_progression_id, opts)
p status_code # => 2xx
p headers # => { ... }
p data # => <PostLmsCourseProgressionsCourseProgressionIdCompletePositiveResponse>
rescue Kombo::ApiError => e
puts "Error when calling UnifiedLMSAPIApi->post_lms_course_progressions_course_progression_id_complete_with_http_info: #{e}"
end
```
### Parameters
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
| **course_progression_id** | **String** | The ID of the course progression in Kombo or its ID in the remote system by prefixing it with &#x60;remote:&#x60; (e.g., &#x60;remote:12312&#x60;) | |
| **post_lms_course_progressions_course_progression_id_complete_request_body** | [**PostLmsCourseProgressionsCourseProgressionIdCompleteRequestBody**](PostLmsCourseProgressionsCourseProgressionIdCompleteRequestBody.md) | POST /lms/course-progressions/:course_progression_id/complete Request body | [optional] |
### Return type
[**PostLmsCourseProgressionsCourseProgressionIdCompletePositiveResponse**](PostLmsCourseProgressionsCourseProgressionIdCompletePositiveResponse.md)
### Authorization
[ApiKey](../README.md#ApiKey)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## post_lms_courses
> <PostLmsCoursesPositiveResponse> post_lms_courses(x_integration_id, opts)
Create course
Create a new course in the LMS. <Note> This endpoint requires the permission **Create courses** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"course\": { \"type\": \"EXTERNAL\", \"title\": \"Building LMS integrations with Kombo\", \"description\": \"Learn how to build and integrate Learning Management System (LMS) integrations with Kombo. This course covers the unified LMS API, course management, user enrollment, progress tracking, and best practices for building robust LMS connectors.\", \"course_url\": \"https://docs.kombo.dev/lms/introduction\", \"thumbnail_url\": \"https://kombo.dev/images/courses/lms-integrations-thumbnail.png\" } } ```
### Examples
```ruby
require 'time'
require 'kombo_client'
# setup authorization
Kombo.configure do |config|
# Configure Bearer authorization: ApiKey
config.access_token = 'YOUR_BEARER_TOKEN'
end
api_instance = Kombo::UnifiedLMSAPIApi.new
x_integration_id = 'bombohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
opts = {
post_lms_courses_request_body: Kombo::PostLmsCoursesRequestBody.new({course: Kombo::PostLmsCoursesRequestBodyCourse.new({type: 'EXTERNAL', title: 'title_example', course_url: 'course_url_example'})}) # PostLmsCoursesRequestBody | POST /lms/courses Request body
}
begin
# Create course
result = api_instance.post_lms_courses(x_integration_id, opts)
p result
rescue Kombo::ApiError => e
puts "Error when calling UnifiedLMSAPIApi->post_lms_courses: #{e}"
end
```
#### Using the post_lms_courses_with_http_info variant
This returns an Array which contains the response data, status code and headers.
> <Array(<PostLmsCoursesPositiveResponse>, Integer, Hash)> post_lms_courses_with_http_info(x_integration_id, opts)
```ruby
begin
# Create course
data, status_code, headers = api_instance.post_lms_courses_with_http_info(x_integration_id, opts)
p status_code # => 2xx
p headers # => { ... }
p data # => <PostLmsCoursesPositiveResponse>
rescue Kombo::ApiError => e
puts "Error when calling UnifiedLMSAPIApi->post_lms_courses_with_http_info: #{e}"
end
```
### Parameters
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
| **post_lms_courses_request_body** | [**PostLmsCoursesRequestBody**](PostLmsCoursesRequestBody.md) | POST /lms/courses Request body | [optional] |
### Return type
[**PostLmsCoursesPositiveResponse**](PostLmsCoursesPositiveResponse.md)
### Authorization
[ApiKey](../README.md#ApiKey)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json

View file

@ -330,16 +330,31 @@ require 'kombo_client/models/get_integrations_integration_id_positive_response_d
require 'kombo_client/models/get_integrations_integration_id_positive_response_data_read_models_inner_fields_inner'
require 'kombo_client/models/get_integrations_integration_id_positive_response_data_scope_config'
require 'kombo_client/models/get_integrations_integration_id_positive_response_data_tool'
require 'kombo_client/models/get_integrations_integration_id_positive_response_data_write_actions_inner'
require 'kombo_client/models/get_integrations_integration_id_positive_response_data_write_actions_inner_fields_inner'
require 'kombo_client/models/get_lms_course_progressions_parameter_include_deleted'
require 'kombo_client/models/get_lms_course_progressions_positive_response'
require 'kombo_client/models/get_lms_course_progressions_positive_response_data'
require 'kombo_client/models/get_lms_course_progressions_positive_response_data_results_inner'
require 'kombo_client/models/get_lms_course_progressions_positive_response_data_results_inner_course_revision'
require 'kombo_client/models/get_lms_course_progressions_positive_response_data_results_inner_course_revision_course'
require 'kombo_client/models/get_lms_course_progressions_positive_response_data_results_inner_user'
require 'kombo_client/models/get_lms_courses_parameter_include_deleted'
require 'kombo_client/models/get_lms_courses_positive_response'
require 'kombo_client/models/get_lms_courses_positive_response_data'
require 'kombo_client/models/get_lms_courses_positive_response_data_results_inner'
require 'kombo_client/models/get_lms_courses_positive_response_data_results_inner_ordered_content_inner'
require 'kombo_client/models/get_lms_courses_positive_response_data_results_inner_skills_inner'
require 'kombo_client/models/get_lms_users_parameter_status'
require 'kombo_client/models/get_lms_courses_positive_response_data_results_inner_provider'
require 'kombo_client/models/get_lms_courses_positive_response_data_results_inner_revisions_inner'
require 'kombo_client/models/get_lms_courses_positive_response_data_results_inner_revisions_inner_skill_assignments_inner'
require 'kombo_client/models/get_lms_courses_positive_response_data_results_inner_revisions_inner_skill_assignments_inner_skill'
require 'kombo_client/models/get_lms_skills_parameter_include_deleted'
require 'kombo_client/models/get_lms_skills_positive_response'
require 'kombo_client/models/get_lms_skills_positive_response_data'
require 'kombo_client/models/get_lms_skills_positive_response_data_results_inner'
require 'kombo_client/models/get_lms_users_parameter_include_deleted'
require 'kombo_client/models/get_lms_users_positive_response'
require 'kombo_client/models/get_lms_users_positive_response_data'
require 'kombo_client/models/get_lms_users_positive_response_data_results_inner'
require 'kombo_client/models/get_lms_users_positive_response_data_results_inner_progress_inner'
require 'kombo_client/models/get_tools_category_parameter_category'
require 'kombo_client/models/get_tools_category_positive_response'
require 'kombo_client/models/get_tools_category_positive_response_data'
@ -350,6 +365,7 @@ require 'kombo_client/models/get_tools_category_positive_response_data_tools_inn
require 'kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner'
require 'kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner_fields_inner'
require 'kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_write_actions_inner'
require 'kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_write_actions_inner_fields_inner'
require 'kombo_client/models/inline_assessment_order_received_webhook_payload'
require 'kombo_client/models/inline_object'
require 'kombo_client/models/inline_object1'
@ -377,8 +393,6 @@ require 'kombo_client/models/patch_hris_skills_skill_id_positive_response'
require 'kombo_client/models/patch_hris_skills_skill_id_request_body'
require 'kombo_client/models/patch_integrations_integration_id_integration_fields_integration_field_id_positive_response'
require 'kombo_client/models/patch_integrations_integration_id_integration_fields_integration_field_id_request_body'
require 'kombo_client/models/patch_lms_progress_progress_id_positive_response'
require 'kombo_client/models/patch_lms_progress_progress_id_request_body'
require 'kombo_client/models/post_ai_apply_apply_positive_response'
require 'kombo_client/models/post_ai_apply_apply_positive_response_data'
require 'kombo_client/models/post_ai_apply_apply_request_body'
@ -459,6 +473,7 @@ require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_
require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_personio'
require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_piloga'
require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_piloga_candidate'
require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_pinpoint'
require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee'
require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee_candidate'
require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_smartrecruiters'
@ -550,6 +565,7 @@ require 'kombo_client/models/post_hris_employees_employee_id_documents_positive_
require 'kombo_client/models/post_hris_employees_employee_id_documents_request_body'
require 'kombo_client/models/post_hris_employees_form_positive_response'
require 'kombo_client/models/post_hris_employees_form_positive_response_data'
require 'kombo_client/models/post_hris_employees_form_positive_response_data_prehire'
require 'kombo_client/models/post_hris_employees_form_request_body'
require 'kombo_client/models/post_hris_employees_positive_response'
require 'kombo_client/models/post_hris_employees_positive_response_data'
@ -591,15 +607,13 @@ require 'kombo_client/models/post_hris_skills_request_body'
require 'kombo_client/models/post_integrations_integration_id_relink_positive_response'
require 'kombo_client/models/post_integrations_integration_id_relink_positive_response_data'
require 'kombo_client/models/post_integrations_integration_id_relink_request_body'
require 'kombo_client/models/post_lms_content_positive_response'
require 'kombo_client/models/post_lms_content_positive_response_data'
require 'kombo_client/models/post_lms_content_request_body'
require 'kombo_client/models/post_lms_course_progressions_course_progression_id_complete_positive_response'
require 'kombo_client/models/post_lms_course_progressions_course_progression_id_complete_request_body'
require 'kombo_client/models/post_lms_course_progressions_positive_response'
require 'kombo_client/models/post_lms_course_progressions_request_body'
require 'kombo_client/models/post_lms_courses_positive_response'
require 'kombo_client/models/post_lms_courses_request_body'
require 'kombo_client/models/post_lms_courses_request_body_skills_inner'
require 'kombo_client/models/post_lms_progress_positive_response'
require 'kombo_client/models/post_lms_progress_positive_response_data'
require 'kombo_client/models/post_lms_progress_request_body'
require 'kombo_client/models/post_lms_courses_request_body_course'
require 'kombo_client/models/post_passthrough_tool_api_positive_response'
require 'kombo_client/models/post_passthrough_tool_api_positive_response_data'
require 'kombo_client/models/post_passthrough_tool_api_positive_response_data_headers_value'
@ -636,8 +650,6 @@ require 'kombo_client/models/put_custom_datev_employees_employee_id_prepare_payr
require 'kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_payroll_run'
require 'kombo_client/models/put_integrations_integration_id_custom_fields_custom_field_id_positive_response'
require 'kombo_client/models/put_integrations_integration_id_custom_fields_custom_field_id_request_body'
require 'kombo_client/models/remote_event_received_webhook_payload'
require 'kombo_client/models/remote_event_received_webhook_payload_data'
require 'kombo_client/models/schema1_value'
require 'kombo_client/models/schema2'
require 'kombo_client/models/schema2_any_of'
@ -667,6 +679,7 @@ require 'kombo_client/api/kombo_connect_api'
require 'kombo_client/api/unified_atsapi_api'
require 'kombo_client/api/unified_ats_assessment_background_check_api_api'
require 'kombo_client/api/unified_hrisapi_api'
require 'kombo_client/api/unified_lmsapi_api'
module Kombo
class << self

View file

@ -658,77 +658,6 @@ module Kombo
return data, status_code, headers
end
# Remote event received
# @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.
# @param remote_event_received_webhook_payload [RemoteEventReceivedWebhookPayload]
# @param [Hash] opts the optional parameters
# @return [nil]
def webhook_remote_event_received_webhook_payload(x_kombo_signature, remote_event_received_webhook_payload, opts = {})
webhook_remote_event_received_webhook_payload_with_http_info(x_kombo_signature, remote_event_received_webhook_payload, opts)
nil
end
# Remote event received
# @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.
# @param remote_event_received_webhook_payload [RemoteEventReceivedWebhookPayload]
# @param [Hash] opts the optional parameters
# @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
def webhook_remote_event_received_webhook_payload_with_http_info(x_kombo_signature, remote_event_received_webhook_payload, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: DefaultApi.webhook_remote_event_received_webhook_payload ...'
end
# verify the required parameter 'x_kombo_signature' is set
if @api_client.config.client_side_validation && x_kombo_signature.nil?
fail ArgumentError, "Missing the required parameter 'x_kombo_signature' when calling DefaultApi.webhook_remote_event_received_webhook_payload"
end
# verify the required parameter 'remote_event_received_webhook_payload' is set
if @api_client.config.client_side_validation && remote_event_received_webhook_payload.nil?
fail ArgumentError, "Missing the required parameter 'remote_event_received_webhook_payload' when calling DefaultApi.webhook_remote_event_received_webhook_payload"
end
# resource path
local_var_path = '/remote-event-received'
# query parameters
query_params = opts[:query_params] || {}
# header parameters
header_params = opts[:header_params] || {}
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
header_params['Content-Type'] = content_type
end
header_params[:'X-Kombo-Signature'] = x_kombo_signature
# form parameters
form_params = opts[:form_params] || {}
# http body (model)
post_body = opts[:debug_body] || @api_client.object_to_http_body(remote_event_received_webhook_payload)
# return_type
return_type = opts[:debug_return_type]
# auth_names
auth_names = opts[:debug_auth_names] || ['ApiKey']
new_options = opts.merge(
:operation => :"DefaultApi.webhook_remote_event_received_webhook_payload",
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => return_type
)
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
if @api_client.config.debugging
@api_client.config.logger.debug "API called: DefaultApi#webhook_remote_event_received_webhook_payload\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# Sync finished
# @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.
# @param sync_finished_webhook_payload [SyncFinishedWebhookPayload]

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,627 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'cgi'
module Kombo
class UnifiedLMSAPIApi
attr_accessor :api_client
def initialize(api_client = ApiClient.default)
@api_client = api_client
end
# Get course progressions
# Get course progressions Retrieve all course progressions from the LMS system. Course progressions track users enrollment and completion status in courses. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
# @param x_integration_id [String] ID of the integration you want to interact with.
# @param [Hash] opts the optional parameters
# @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the &#x60;next&#x60; property of the previous page response.
# @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100)
# @option opts [Time] :updated_after Filter the entries based on the modification date in format &#x60;YYYY-MM-DDTHH:mm:ss.sssZ&#x60;. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record&#39;s own &#x60;changed_at&#x60; field remains unchanged. If you want to track entry deletion, also set the &#x60;include_deleted&#x3D;true&#x60; query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
# @option opts [GetLmsCourseProgressionsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the &#x60;include_deleted&#x60; query param to include deleted entries too. (default to 'false')
# @option opts [String] :ids Filter by a comma-separated list of IDs such as &#x60;222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3&#x60;.
# @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs.
# @option opts [String] :user_ids Filter by a comma-separated list of user IDs. We will only return progressions that are related to _any_ of the users.
# @return [GetLmsCourseProgressionsPositiveResponse]
def get_lms_course_progressions(x_integration_id, opts = {})
data, _status_code, _headers = get_lms_course_progressions_with_http_info(x_integration_id, opts)
data
end
# Get course progressions
# Get course progressions Retrieve all course progressions from the LMS system. Course progressions track users enrollment and completion status in courses. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: &#x60;(id IN ids) AND (remote_id IN remote_ids)&#x60;
# @param x_integration_id [String] ID of the integration you want to interact with.
# @param [Hash] opts the optional parameters
# @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the &#x60;next&#x60; property of the previous page response.
# @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100)
# @option opts [Time] :updated_after Filter the entries based on the modification date in format &#x60;YYYY-MM-DDTHH:mm:ss.sssZ&#x60;. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record&#39;s own &#x60;changed_at&#x60; field remains unchanged. If you want to track entry deletion, also set the &#x60;include_deleted&#x3D;true&#x60; query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
# @option opts [GetLmsCourseProgressionsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the &#x60;include_deleted&#x60; query param to include deleted entries too. (default to 'false')
# @option opts [String] :ids Filter by a comma-separated list of IDs such as &#x60;222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3&#x60;.
# @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs.
# @option opts [String] :user_ids Filter by a comma-separated list of user IDs. We will only return progressions that are related to _any_ of the users.
# @return [Array<(GetLmsCourseProgressionsPositiveResponse, Integer, Hash)>] GetLmsCourseProgressionsPositiveResponse data, response status code and response headers
def get_lms_course_progressions_with_http_info(x_integration_id, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: UnifiedLMSAPIApi.get_lms_course_progressions ...'
end
# verify the required parameter 'x_integration_id' is set
if @api_client.config.client_side_validation && x_integration_id.nil?
fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedLMSAPIApi.get_lms_course_progressions"
end
if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250
fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedLMSAPIApi.get_lms_course_progressions, must be smaller than or equal to 250.'
end
if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedLMSAPIApi.get_lms_course_progressions, must be greater than or equal to 1.'
end
pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/)
if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern
fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedLMSAPIApi.get_lms_course_progressions, must conform to the pattern #{pattern}."
end
# resource path
local_var_path = '/lms/course-progressions'
# query parameters
query_params = opts[:query_params] || {}
query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil?
query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil?
query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil?
query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil?
query_params[:'user_ids'] = opts[:'user_ids'] if !opts[:'user_ids'].nil?
# header parameters
header_params = opts[:header_params] || {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
header_params[:'X-Integration-Id'] = x_integration_id
# form parameters
form_params = opts[:form_params] || {}
# http body (model)
post_body = opts[:debug_body]
# return_type
return_type = opts[:debug_return_type] || 'GetLmsCourseProgressionsPositiveResponse'
# auth_names
auth_names = opts[:debug_auth_names] || ['ApiKey']
new_options = opts.merge(
:operation => :"UnifiedLMSAPIApi.get_lms_course_progressions",
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => return_type
)
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
if @api_client.config.debugging
@api_client.config.logger.debug "API called: UnifiedLMSAPIApi#get_lms_course_progressions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# Get courses
# Get courses Retrieve all courses available in the LMS. Courses are structured learning programs that users can enroll in and complete. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
# @param x_integration_id [String] ID of the integration you want to interact with.
# @param [Hash] opts the optional parameters
# @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the &#x60;next&#x60; property of the previous page response.
# @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100)
# @option opts [Time] :updated_after Filter the entries based on the modification date in format &#x60;YYYY-MM-DDTHH:mm:ss.sssZ&#x60;. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record&#39;s own &#x60;changed_at&#x60; field remains unchanged. If you want to track entry deletion, also set the &#x60;include_deleted&#x3D;true&#x60; query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
# @option opts [GetLmsCoursesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the &#x60;include_deleted&#x60; query param to include deleted entries too. (default to 'false')
# @option opts [String] :ids Filter by a comma-separated list of IDs such as &#x60;222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3&#x60;.
# @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs.
# @return [GetLmsCoursesPositiveResponse]
def get_lms_courses(x_integration_id, opts = {})
data, _status_code, _headers = get_lms_courses_with_http_info(x_integration_id, opts)
data
end
# Get courses
# Get courses Retrieve all courses available in the LMS. Courses are structured learning programs that users can enroll in and complete. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: &#x60;(id IN ids) AND (remote_id IN remote_ids)&#x60;
# @param x_integration_id [String] ID of the integration you want to interact with.
# @param [Hash] opts the optional parameters
# @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the &#x60;next&#x60; property of the previous page response.
# @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100)
# @option opts [Time] :updated_after Filter the entries based on the modification date in format &#x60;YYYY-MM-DDTHH:mm:ss.sssZ&#x60;. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record&#39;s own &#x60;changed_at&#x60; field remains unchanged. If you want to track entry deletion, also set the &#x60;include_deleted&#x3D;true&#x60; query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
# @option opts [GetLmsCoursesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the &#x60;include_deleted&#x60; query param to include deleted entries too. (default to 'false')
# @option opts [String] :ids Filter by a comma-separated list of IDs such as &#x60;222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3&#x60;.
# @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs.
# @return [Array<(GetLmsCoursesPositiveResponse, Integer, Hash)>] GetLmsCoursesPositiveResponse data, response status code and response headers
def get_lms_courses_with_http_info(x_integration_id, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: UnifiedLMSAPIApi.get_lms_courses ...'
end
# verify the required parameter 'x_integration_id' is set
if @api_client.config.client_side_validation && x_integration_id.nil?
fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedLMSAPIApi.get_lms_courses"
end
if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250
fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedLMSAPIApi.get_lms_courses, must be smaller than or equal to 250.'
end
if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedLMSAPIApi.get_lms_courses, must be greater than or equal to 1.'
end
pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/)
if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern
fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedLMSAPIApi.get_lms_courses, must conform to the pattern #{pattern}."
end
# resource path
local_var_path = '/lms/courses'
# query parameters
query_params = opts[:query_params] || {}
query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil?
query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil?
query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil?
query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil?
# header parameters
header_params = opts[:header_params] || {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
header_params[:'X-Integration-Id'] = x_integration_id
# form parameters
form_params = opts[:form_params] || {}
# http body (model)
post_body = opts[:debug_body]
# return_type
return_type = opts[:debug_return_type] || 'GetLmsCoursesPositiveResponse'
# auth_names
auth_names = opts[:debug_auth_names] || ['ApiKey']
new_options = opts.merge(
:operation => :"UnifiedLMSAPIApi.get_lms_courses",
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => return_type
)
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
if @api_client.config.debugging
@api_client.config.logger.debug "API called: UnifiedLMSAPIApi#get_lms_courses\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# Get skills
# Get skills Retrieve all skills available in the LMS system. Skills represent competencies or abilities that users can acquire or demonstrate through courses. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
# @param x_integration_id [String] ID of the integration you want to interact with.
# @param [Hash] opts the optional parameters
# @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the &#x60;next&#x60; property of the previous page response.
# @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100)
# @option opts [Time] :updated_after Filter the entries based on the modification date in format &#x60;YYYY-MM-DDTHH:mm:ss.sssZ&#x60;. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record&#39;s own &#x60;changed_at&#x60; field remains unchanged. If you want to track entry deletion, also set the &#x60;include_deleted&#x3D;true&#x60; query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
# @option opts [GetLmsSkillsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the &#x60;include_deleted&#x60; query param to include deleted entries too. (default to 'false')
# @option opts [String] :ids Filter by a comma-separated list of IDs such as &#x60;222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3&#x60;.
# @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs.
# @return [GetLmsSkillsPositiveResponse]
def get_lms_skills(x_integration_id, opts = {})
data, _status_code, _headers = get_lms_skills_with_http_info(x_integration_id, opts)
data
end
# Get skills
# Get skills Retrieve all skills available in the LMS system. Skills represent competencies or abilities that users can acquire or demonstrate through courses. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: &#x60;(id IN ids) AND (remote_id IN remote_ids)&#x60;
# @param x_integration_id [String] ID of the integration you want to interact with.
# @param [Hash] opts the optional parameters
# @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the &#x60;next&#x60; property of the previous page response.
# @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100)
# @option opts [Time] :updated_after Filter the entries based on the modification date in format &#x60;YYYY-MM-DDTHH:mm:ss.sssZ&#x60;. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record&#39;s own &#x60;changed_at&#x60; field remains unchanged. If you want to track entry deletion, also set the &#x60;include_deleted&#x3D;true&#x60; query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
# @option opts [GetLmsSkillsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the &#x60;include_deleted&#x60; query param to include deleted entries too. (default to 'false')
# @option opts [String] :ids Filter by a comma-separated list of IDs such as &#x60;222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3&#x60;.
# @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs.
# @return [Array<(GetLmsSkillsPositiveResponse, Integer, Hash)>] GetLmsSkillsPositiveResponse data, response status code and response headers
def get_lms_skills_with_http_info(x_integration_id, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: UnifiedLMSAPIApi.get_lms_skills ...'
end
# verify the required parameter 'x_integration_id' is set
if @api_client.config.client_side_validation && x_integration_id.nil?
fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedLMSAPIApi.get_lms_skills"
end
if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250
fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedLMSAPIApi.get_lms_skills, must be smaller than or equal to 250.'
end
if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedLMSAPIApi.get_lms_skills, must be greater than or equal to 1.'
end
pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/)
if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern
fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedLMSAPIApi.get_lms_skills, must conform to the pattern #{pattern}."
end
# resource path
local_var_path = '/lms/skills'
# query parameters
query_params = opts[:query_params] || {}
query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil?
query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil?
query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil?
query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil?
# header parameters
header_params = opts[:header_params] || {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
header_params[:'X-Integration-Id'] = x_integration_id
# form parameters
form_params = opts[:form_params] || {}
# http body (model)
post_body = opts[:debug_body]
# return_type
return_type = opts[:debug_return_type] || 'GetLmsSkillsPositiveResponse'
# auth_names
auth_names = opts[:debug_auth_names] || ['ApiKey']
new_options = opts.merge(
:operation => :"UnifiedLMSAPIApi.get_lms_skills",
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => return_type
)
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
if @api_client.config.debugging
@api_client.config.logger.debug "API called: UnifiedLMSAPIApi#get_lms_skills\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# Get users
# Get users Retrieve all users from the LMS system. Users are learners who can enroll in and complete courses. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
# @param x_integration_id [String] ID of the integration you want to interact with.
# @param [Hash] opts the optional parameters
# @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the &#x60;next&#x60; property of the previous page response.
# @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100)
# @option opts [Time] :updated_after Filter the entries based on the modification date in format &#x60;YYYY-MM-DDTHH:mm:ss.sssZ&#x60;. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record&#39;s own &#x60;changed_at&#x60; field remains unchanged. If you want to track entry deletion, also set the &#x60;include_deleted&#x3D;true&#x60; query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
# @option opts [GetLmsUsersParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the &#x60;include_deleted&#x60; query param to include deleted entries too. (default to 'false')
# @option opts [String] :ids Filter by a comma-separated list of IDs such as &#x60;222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3&#x60;.
# @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs.
# @option opts [String] :work_emails Filter by a comma-separated list of work emails. We will only return users who have _any_ of the work emails. The format of the emails is case-insensitive.
# @return [GetLmsUsersPositiveResponse]
def get_lms_users(x_integration_id, opts = {})
data, _status_code, _headers = get_lms_users_with_http_info(x_integration_id, opts)
data
end
# Get users
# Get users Retrieve all users from the LMS system. Users are learners who can enroll in and complete courses. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: &#x60;(id IN ids) AND (remote_id IN remote_ids)&#x60;
# @param x_integration_id [String] ID of the integration you want to interact with.
# @param [Hash] opts the optional parameters
# @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the &#x60;next&#x60; property of the previous page response.
# @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100)
# @option opts [Time] :updated_after Filter the entries based on the modification date in format &#x60;YYYY-MM-DDTHH:mm:ss.sssZ&#x60;. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record&#39;s own &#x60;changed_at&#x60; field remains unchanged. If you want to track entry deletion, also set the &#x60;include_deleted&#x3D;true&#x60; query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
# @option opts [GetLmsUsersParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the &#x60;include_deleted&#x60; query param to include deleted entries too. (default to 'false')
# @option opts [String] :ids Filter by a comma-separated list of IDs such as &#x60;222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3&#x60;.
# @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs.
# @option opts [String] :work_emails Filter by a comma-separated list of work emails. We will only return users who have _any_ of the work emails. The format of the emails is case-insensitive.
# @return [Array<(GetLmsUsersPositiveResponse, Integer, Hash)>] GetLmsUsersPositiveResponse data, response status code and response headers
def get_lms_users_with_http_info(x_integration_id, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: UnifiedLMSAPIApi.get_lms_users ...'
end
# verify the required parameter 'x_integration_id' is set
if @api_client.config.client_side_validation && x_integration_id.nil?
fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedLMSAPIApi.get_lms_users"
end
if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250
fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedLMSAPIApi.get_lms_users, must be smaller than or equal to 250.'
end
if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedLMSAPIApi.get_lms_users, must be greater than or equal to 1.'
end
pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/)
if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern
fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedLMSAPIApi.get_lms_users, must conform to the pattern #{pattern}."
end
# resource path
local_var_path = '/lms/users'
# query parameters
query_params = opts[:query_params] || {}
query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil?
query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil?
query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil?
query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil?
query_params[:'work_emails'] = opts[:'work_emails'] if !opts[:'work_emails'].nil?
# header parameters
header_params = opts[:header_params] || {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
header_params[:'X-Integration-Id'] = x_integration_id
# form parameters
form_params = opts[:form_params] || {}
# http body (model)
post_body = opts[:debug_body]
# return_type
return_type = opts[:debug_return_type] || 'GetLmsUsersPositiveResponse'
# auth_names
auth_names = opts[:debug_auth_names] || ['ApiKey']
new_options = opts.merge(
:operation => :"UnifiedLMSAPIApi.get_lms_users",
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => return_type
)
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
if @api_client.config.debugging
@api_client.config.logger.debug "API called: UnifiedLMSAPIApi#get_lms_users\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# Enroll user in course
# Enroll a user in a course revision. <Note> This endpoint requires the permission **Create and manage course progressions** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"user_id\": \"7xPdr68N8kG9EzLwjsN9xyz\", \"course_revision_id\": \"3KMdr68N8kG9EzLwjsN9aoz\" } ```
# @param x_integration_id [String] ID of the integration you want to interact with.
# @param [Hash] opts the optional parameters
# @option opts [PostLmsCourseProgressionsRequestBody] :post_lms_course_progressions_request_body POST /lms/course-progressions Request body
# @return [PostLmsCourseProgressionsPositiveResponse]
def post_lms_course_progressions(x_integration_id, opts = {})
data, _status_code, _headers = post_lms_course_progressions_with_http_info(x_integration_id, opts)
data
end
# Enroll user in course
# Enroll a user in a course revision. &lt;Note&gt; This endpoint requires the permission **Create and manage course progressions** to be enabled in [your scope config](/scopes). &lt;/Note&gt; ### Example Request Body &#x60;&#x60;&#x60;json { \&quot;user_id\&quot;: \&quot;7xPdr68N8kG9EzLwjsN9xyz\&quot;, \&quot;course_revision_id\&quot;: \&quot;3KMdr68N8kG9EzLwjsN9aoz\&quot; } &#x60;&#x60;&#x60;
# @param x_integration_id [String] ID of the integration you want to interact with.
# @param [Hash] opts the optional parameters
# @option opts [PostLmsCourseProgressionsRequestBody] :post_lms_course_progressions_request_body POST /lms/course-progressions Request body
# @return [Array<(PostLmsCourseProgressionsPositiveResponse, Integer, Hash)>] PostLmsCourseProgressionsPositiveResponse data, response status code and response headers
def post_lms_course_progressions_with_http_info(x_integration_id, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: UnifiedLMSAPIApi.post_lms_course_progressions ...'
end
# verify the required parameter 'x_integration_id' is set
if @api_client.config.client_side_validation && x_integration_id.nil?
fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedLMSAPIApi.post_lms_course_progressions"
end
# resource path
local_var_path = '/lms/course-progressions'
# query parameters
query_params = opts[:query_params] || {}
# header parameters
header_params = opts[:header_params] || {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
header_params['Content-Type'] = content_type
end
header_params[:'X-Integration-Id'] = x_integration_id
# form parameters
form_params = opts[:form_params] || {}
# http body (model)
post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_lms_course_progressions_request_body'])
# return_type
return_type = opts[:debug_return_type] || 'PostLmsCourseProgressionsPositiveResponse'
# auth_names
auth_names = opts[:debug_auth_names] || ['ApiKey']
new_options = opts.merge(
:operation => :"UnifiedLMSAPIApi.post_lms_course_progressions",
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => return_type
)
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
if @api_client.config.debugging
@api_client.config.logger.debug "API called: UnifiedLMSAPIApi#post_lms_course_progressions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# Complete course
# Mark a course revision as completed for a user. <Note> This endpoint requires the permission **Create and manage course progressions** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"completed_at\": \"2024-04-15\" } ```
# @param x_integration_id [String] ID of the integration you want to interact with.
# @param course_progression_id [String] The ID of the course progression in Kombo or its ID in the remote system by prefixing it with &#x60;remote:&#x60; (e.g., &#x60;remote:12312&#x60;)
# @param [Hash] opts the optional parameters
# @option opts [PostLmsCourseProgressionsCourseProgressionIdCompleteRequestBody] :post_lms_course_progressions_course_progression_id_complete_request_body POST /lms/course-progressions/:course_progression_id/complete Request body
# @return [PostLmsCourseProgressionsCourseProgressionIdCompletePositiveResponse]
def post_lms_course_progressions_course_progression_id_complete(x_integration_id, course_progression_id, opts = {})
data, _status_code, _headers = post_lms_course_progressions_course_progression_id_complete_with_http_info(x_integration_id, course_progression_id, opts)
data
end
# Complete course
# Mark a course revision as completed for a user. &lt;Note&gt; This endpoint requires the permission **Create and manage course progressions** to be enabled in [your scope config](/scopes). &lt;/Note&gt; ### Example Request Body &#x60;&#x60;&#x60;json { \&quot;completed_at\&quot;: \&quot;2024-04-15\&quot; } &#x60;&#x60;&#x60;
# @param x_integration_id [String] ID of the integration you want to interact with.
# @param course_progression_id [String] The ID of the course progression in Kombo or its ID in the remote system by prefixing it with &#x60;remote:&#x60; (e.g., &#x60;remote:12312&#x60;)
# @param [Hash] opts the optional parameters
# @option opts [PostLmsCourseProgressionsCourseProgressionIdCompleteRequestBody] :post_lms_course_progressions_course_progression_id_complete_request_body POST /lms/course-progressions/:course_progression_id/complete Request body
# @return [Array<(PostLmsCourseProgressionsCourseProgressionIdCompletePositiveResponse, Integer, Hash)>] PostLmsCourseProgressionsCourseProgressionIdCompletePositiveResponse data, response status code and response headers
def post_lms_course_progressions_course_progression_id_complete_with_http_info(x_integration_id, course_progression_id, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: UnifiedLMSAPIApi.post_lms_course_progressions_course_progression_id_complete ...'
end
# verify the required parameter 'x_integration_id' is set
if @api_client.config.client_side_validation && x_integration_id.nil?
fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedLMSAPIApi.post_lms_course_progressions_course_progression_id_complete"
end
# verify the required parameter 'course_progression_id' is set
if @api_client.config.client_side_validation && course_progression_id.nil?
fail ArgumentError, "Missing the required parameter 'course_progression_id' when calling UnifiedLMSAPIApi.post_lms_course_progressions_course_progression_id_complete"
end
# resource path
local_var_path = '/lms/course-progressions/{course_progression_id}/complete'.sub('{' + 'course_progression_id' + '}', CGI.escape(course_progression_id.to_s))
# query parameters
query_params = opts[:query_params] || {}
# header parameters
header_params = opts[:header_params] || {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
header_params['Content-Type'] = content_type
end
header_params[:'X-Integration-Id'] = x_integration_id
# form parameters
form_params = opts[:form_params] || {}
# http body (model)
post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_lms_course_progressions_course_progression_id_complete_request_body'])
# return_type
return_type = opts[:debug_return_type] || 'PostLmsCourseProgressionsCourseProgressionIdCompletePositiveResponse'
# auth_names
auth_names = opts[:debug_auth_names] || ['ApiKey']
new_options = opts.merge(
:operation => :"UnifiedLMSAPIApi.post_lms_course_progressions_course_progression_id_complete",
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => return_type
)
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
if @api_client.config.debugging
@api_client.config.logger.debug "API called: UnifiedLMSAPIApi#post_lms_course_progressions_course_progression_id_complete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# Create course
# Create a new course in the LMS. <Note> This endpoint requires the permission **Create courses** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"course\": { \"type\": \"EXTERNAL\", \"title\": \"Building LMS integrations with Kombo\", \"description\": \"Learn how to build and integrate Learning Management System (LMS) integrations with Kombo. This course covers the unified LMS API, course management, user enrollment, progress tracking, and best practices for building robust LMS connectors.\", \"course_url\": \"https://docs.kombo.dev/lms/introduction\", \"thumbnail_url\": \"https://kombo.dev/images/courses/lms-integrations-thumbnail.png\" } } ```
# @param x_integration_id [String] ID of the integration you want to interact with.
# @param [Hash] opts the optional parameters
# @option opts [PostLmsCoursesRequestBody] :post_lms_courses_request_body POST /lms/courses Request body
# @return [PostLmsCoursesPositiveResponse]
def post_lms_courses(x_integration_id, opts = {})
data, _status_code, _headers = post_lms_courses_with_http_info(x_integration_id, opts)
data
end
# Create course
# Create a new course in the LMS. &lt;Note&gt; This endpoint requires the permission **Create courses** to be enabled in [your scope config](/scopes). &lt;/Note&gt; ### Example Request Body &#x60;&#x60;&#x60;json { \&quot;course\&quot;: { \&quot;type\&quot;: \&quot;EXTERNAL\&quot;, \&quot;title\&quot;: \&quot;Building LMS integrations with Kombo\&quot;, \&quot;description\&quot;: \&quot;Learn how to build and integrate Learning Management System (LMS) integrations with Kombo. This course covers the unified LMS API, course management, user enrollment, progress tracking, and best practices for building robust LMS connectors.\&quot;, \&quot;course_url\&quot;: \&quot;https://docs.kombo.dev/lms/introduction\&quot;, \&quot;thumbnail_url\&quot;: \&quot;https://kombo.dev/images/courses/lms-integrations-thumbnail.png\&quot; } } &#x60;&#x60;&#x60;
# @param x_integration_id [String] ID of the integration you want to interact with.
# @param [Hash] opts the optional parameters
# @option opts [PostLmsCoursesRequestBody] :post_lms_courses_request_body POST /lms/courses Request body
# @return [Array<(PostLmsCoursesPositiveResponse, Integer, Hash)>] PostLmsCoursesPositiveResponse data, response status code and response headers
def post_lms_courses_with_http_info(x_integration_id, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: UnifiedLMSAPIApi.post_lms_courses ...'
end
# verify the required parameter 'x_integration_id' is set
if @api_client.config.client_side_validation && x_integration_id.nil?
fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedLMSAPIApi.post_lms_courses"
end
# resource path
local_var_path = '/lms/courses'
# query parameters
query_params = opts[:query_params] || {}
# header parameters
header_params = opts[:header_params] || {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
# HTTP header 'Content-Type'
content_type = @api_client.select_header_content_type(['application/json'])
if !content_type.nil?
header_params['Content-Type'] = content_type
end
header_params[:'X-Integration-Id'] = x_integration_id
# form parameters
form_params = opts[:form_params] || {}
# http body (model)
post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_lms_courses_request_body'])
# return_type
return_type = opts[:debug_return_type] || 'PostLmsCoursesPositiveResponse'
# auth_names
auth_names = opts[:debug_auth_names] || ['ApiKey']
new_options = opts.merge(
:operation => :"UnifiedLMSAPIApi.post_lms_courses",
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => return_type
)
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
if @api_client.config.debugging
@api_client.config.logger.debug "API called: UnifiedLMSAPIApi#post_lms_courses\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
end
end

View file

@ -16,6 +16,9 @@ require 'time'
module Kombo
# Information about the candidate taking the assessment.
class AssessmentOrderReceivedWebhookPayloadDataCandidate < ApiModelBase
# The candidate's identifier in the integrated system.
attr_accessor :remote_id
# The candidate's email address.
attr_accessor :email
@ -28,17 +31,14 @@ module Kombo
# The candidate's phone number.
attr_accessor :phone
# The candidate's identifier in the integrated system.
attr_accessor :remote_id
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'remote_id' => :'remote_id',
:'email' => :'email',
:'first_name' => :'first_name',
:'last_name' => :'last_name',
:'phone' => :'phone',
:'remote_id' => :'remote_id'
:'phone' => :'phone'
}
end
@ -55,11 +55,11 @@ module Kombo
# Attribute type mapping.
def self.openapi_types
{
:'remote_id' => :'String',
:'email' => :'String',
:'first_name' => :'String',
:'last_name' => :'String',
:'phone' => :'String',
:'remote_id' => :'String'
:'phone' => :'String'
}
end
@ -85,6 +85,10 @@ module Kombo
h[k.to_sym] = v
}
if attributes.key?(:'remote_id')
self.remote_id = attributes[:'remote_id']
end
if attributes.key?(:'email')
self.email = attributes[:'email']
else
@ -102,10 +106,6 @@ module Kombo
if attributes.key?(:'phone')
self.phone = attributes[:'phone']
end
if attributes.key?(:'remote_id')
self.remote_id = attributes[:'remote_id']
end
end
# Show invalid properties with the reasons. Usually used together with valid?
@ -143,11 +143,11 @@ module Kombo
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
remote_id == o.remote_id &&
email == o.email &&
first_name == o.first_name &&
last_name == o.last_name &&
phone == o.phone &&
remote_id == o.remote_id
phone == o.phone
end
# @see the `==` method
@ -159,7 +159,7 @@ module Kombo
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[email, first_name, last_name, phone, remote_id].hash
[remote_id, email, first_name, last_name, phone].hash
end
# Builds the object from hash

View file

@ -18,7 +18,7 @@ module Kombo
# The name of the integrated tool (e.g., \"personio\", \"greenhouse\").
attr_accessor :integration_tool
# The category of the integration (HRIS, ATS, or ASSESSMENT).
# The category of the integration (HRIS, ATS, ASSESSMENT, or LMS).
attr_accessor :integration_category
attr_accessor :end_user
@ -155,7 +155,7 @@ module Kombo
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @integration_tool.nil?
return false if @integration_category.nil?
integration_category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"])
integration_category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT", "LMS"])
return false unless integration_category_validator.valid?(@integration_category)
return false if @end_user.nil?
return false if @log_url.nil?
@ -175,7 +175,7 @@ module Kombo
# Custom attribute writer method checking allowed values (enum).
# @param [Object] integration_category Object to be assigned
def integration_category=(integration_category)
validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"])
validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT", "LMS"])
unless validator.valid?(integration_category)
fail ArgumentError, "invalid value for \"integration_category\", must be one of #{validator.allowable_values}."
end

View file

@ -21,7 +21,7 @@ module Kombo
# The name of the integrated tool (e.g., \"personio\", \"greenhouse\").
attr_accessor :integration_tool
# The category of the integration (HRIS, ATS, or ASSESSMENT).
# The category of the integration (HRIS, ATS, ASSESSMENT, or LMS).
attr_accessor :integration_category
# List of data models and connections for which one or more records were created, updated, or deleted.
@ -159,7 +159,7 @@ module Kombo
return false if @integration_id.nil?
return false if @integration_tool.nil?
return false if @integration_category.nil?
integration_category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"])
integration_category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT", "LMS"])
return false unless integration_category_validator.valid?(@integration_category)
return false if @changed_models.nil?
true
@ -188,7 +188,7 @@ module Kombo
# Custom attribute writer method checking allowed values (enum).
# @param [Object] integration_category Object to be assigned
def integration_category=(integration_category)
validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"])
validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT", "LMS"])
unless validator.valid?(integration_category)
fail ArgumentError, "invalid value for \"integration_category\", must be one of #{validator.allowable_values}."
end

View file

@ -111,7 +111,7 @@ module Kombo
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @name.nil?
name_validator = EnumAttributeValidator.new('String', ["hris_legal_entities", "hris_locations", "hris_employees", "hris_absence_types", "hris_absences", "hris_employments", "hris_teams", "hris_time_off_balances", "hris_timesheets", "hris_employee_document_categories", "hris_performance_reviews", "hris_performance_review_cycles", "ats_users", "ats_jobs", "ats_job_postings", "ats_candidates", "ats_application_stages", "ats_applications", "ats_screening_questions", "ats_tags", "ats_interviews", "ats_offers", "ats_rejection_reasons", "hris_join_employees_teams", "ats_join_candidates_tags", "ats_join_jobs_application_stages", "ats_join_jobs_screening_questions", "ats_join_jobs_users", "ats_join_interviews_users"])
name_validator = EnumAttributeValidator.new('String', ["hris_legal_entities", "hris_locations", "hris_employees", "hris_absence_types", "hris_absences", "hris_employments", "hris_teams", "hris_time_off_balances", "hris_timesheets", "hris_employee_document_categories", "hris_performance_reviews", "hris_performance_review_cycles", "ats_users", "ats_jobs", "ats_job_postings", "ats_candidates", "ats_application_stages", "ats_applications", "ats_screening_questions", "ats_tags", "ats_interviews", "ats_offers", "ats_rejection_reasons", "lms_users", "lms_course_providers", "lms_courses", "lms_course_progressions", "lms_course_revisions", "lms_skills", "hris_join_employees_teams", "ats_join_candidates_tags", "ats_join_jobs_application_stages", "ats_join_jobs_screening_questions", "ats_join_jobs_users", "ats_join_interviews_users", "lms_join_revisions_skills"])
return false unless name_validator.valid?(@name)
true
end
@ -119,7 +119,7 @@ module Kombo
# Custom attribute writer method checking allowed values (enum).
# @param [Object] name Object to be assigned
def name=(name)
validator = EnumAttributeValidator.new('String', ["hris_legal_entities", "hris_locations", "hris_employees", "hris_absence_types", "hris_absences", "hris_employments", "hris_teams", "hris_time_off_balances", "hris_timesheets", "hris_employee_document_categories", "hris_performance_reviews", "hris_performance_review_cycles", "ats_users", "ats_jobs", "ats_job_postings", "ats_candidates", "ats_application_stages", "ats_applications", "ats_screening_questions", "ats_tags", "ats_interviews", "ats_offers", "ats_rejection_reasons", "hris_join_employees_teams", "ats_join_candidates_tags", "ats_join_jobs_application_stages", "ats_join_jobs_screening_questions", "ats_join_jobs_users", "ats_join_interviews_users"])
validator = EnumAttributeValidator.new('String', ["hris_legal_entities", "hris_locations", "hris_employees", "hris_absence_types", "hris_absences", "hris_employments", "hris_teams", "hris_time_off_balances", "hris_timesheets", "hris_employee_document_categories", "hris_performance_reviews", "hris_performance_review_cycles", "ats_users", "ats_jobs", "ats_job_postings", "ats_candidates", "ats_application_stages", "ats_applications", "ats_screening_questions", "ats_tags", "ats_interviews", "ats_offers", "ats_rejection_reasons", "lms_users", "lms_course_providers", "lms_courses", "lms_course_progressions", "lms_course_revisions", "lms_skills", "hris_join_employees_teams", "ats_join_candidates_tags", "ats_join_jobs_application_stages", "ats_join_jobs_screening_questions", "ats_join_jobs_users", "ats_join_interviews_users", "lms_join_revisions_skills"])
unless validator.valid?(name)
fail ArgumentError, "invalid value for \"name\", must be one of #{validator.allowable_values}."
end

View file

@ -16,6 +16,9 @@ require 'time'
module Kombo
# Information about the candidate taking the assessment.
class GetAssessmentOrdersOpenPositiveResponseDataResultsInnerCandidate < ApiModelBase
# The candidate's identifier in the integrated system.
attr_accessor :remote_id
# The candidate's email address.
attr_accessor :email
@ -28,17 +31,14 @@ module Kombo
# The candidate's phone number.
attr_accessor :phone
# The candidate's identifier in the integrated system.
attr_accessor :remote_id
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'remote_id' => :'remote_id',
:'email' => :'email',
:'first_name' => :'first_name',
:'last_name' => :'last_name',
:'phone' => :'phone',
:'remote_id' => :'remote_id'
:'phone' => :'phone'
}
end
@ -55,21 +55,21 @@ module Kombo
# Attribute type mapping.
def self.openapi_types
{
:'remote_id' => :'String',
:'email' => :'String',
:'first_name' => :'String',
:'last_name' => :'String',
:'phone' => :'String',
:'remote_id' => :'String'
:'phone' => :'String'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
:'remote_id',
:'first_name',
:'last_name',
:'phone',
:'remote_id'
:'phone'
])
end
@ -89,6 +89,10 @@ module Kombo
h[k.to_sym] = v
}
if attributes.key?(:'remote_id')
self.remote_id = attributes[:'remote_id']
end
if attributes.key?(:'email')
self.email = attributes[:'email']
else
@ -106,10 +110,6 @@ module Kombo
if attributes.key?(:'phone')
self.phone = attributes[:'phone']
end
if attributes.key?(:'remote_id')
self.remote_id = attributes[:'remote_id']
end
end
# Show invalid properties with the reasons. Usually used together with valid?
@ -147,11 +147,11 @@ module Kombo
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
remote_id == o.remote_id &&
email == o.email &&
first_name == o.first_name &&
last_name == o.last_name &&
phone == o.phone &&
remote_id == o.remote_id
phone == o.phone
end
# @see the `==` method
@ -163,7 +163,7 @@ module Kombo
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[email, first_name, last_name, phone, remote_id].hash
[remote_id, email, first_name, last_name, phone].hash
end
# Builds the object from hash

View file

@ -31,6 +31,9 @@ module Kombo
attr_accessor :scope_config
# The date when the integration configuration (e.g. filters, scope config) was changed, invalidating the synced data. It is cleared after a successful sync. If this field is `null` the data you fetch is valid to the state of the last sync or webhook event received. Otherwise it will be set to `null` with the next successful sync.
attr_accessor :data_expired_at
# YYYY-MM-DDTHH:mm:ss.sssZ
attr_accessor :created_at
@ -38,6 +41,8 @@ module Kombo
attr_accessor :read_models
attr_accessor :write_actions
class EnumAttributeValidator
attr_reader :datatype
attr_reader :allowable_values
@ -70,9 +75,11 @@ module Kombo
:'setup_status' => :'setup_status',
:'end_user' => :'end_user',
:'scope_config' => :'scope_config',
:'data_expired_at' => :'data_expired_at',
:'created_at' => :'created_at',
:'beta' => :'beta',
:'read_models' => :'read_models'
:'read_models' => :'read_models',
:'write_actions' => :'write_actions'
}
end
@ -96,15 +103,18 @@ module Kombo
:'setup_status' => :'String',
:'end_user' => :'GetIntegrationsIntegrationIdPositiveResponseDataEndUser',
:'scope_config' => :'GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig',
:'data_expired_at' => :'Time',
:'created_at' => :'Time',
:'beta' => :'Boolean',
:'read_models' => :'Array<GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner>'
:'read_models' => :'Array<GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner>',
:'write_actions' => :'Array<GetIntegrationsIntegrationIdPositiveResponseDataWriteActionsInner>'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
:'data_expired_at',
])
end
@ -166,6 +176,12 @@ module Kombo
self.scope_config = nil
end
if attributes.key?(:'data_expired_at')
self.data_expired_at = attributes[:'data_expired_at']
else
self.data_expired_at = nil
end
if attributes.key?(:'created_at')
self.created_at = attributes[:'created_at']
else
@ -185,6 +201,14 @@ module Kombo
else
self.read_models = nil
end
if attributes.key?(:'write_actions')
if (value = attributes[:'write_actions']).is_a?(Array)
self.write_actions = value
end
else
self.write_actions = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
@ -232,6 +256,10 @@ module Kombo
invalid_properties.push('invalid value for "read_models", read_models cannot be nil.')
end
if @write_actions.nil?
invalid_properties.push('invalid value for "write_actions", write_actions cannot be nil.')
end
invalid_properties
end
@ -242,7 +270,7 @@ module Kombo
return false if @id.nil?
return false if @tool.nil?
return false if @category.nil?
category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"])
category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT", "LMS"])
return false unless category_validator.valid?(@category)
return false if @status.nil?
status_validator = EnumAttributeValidator.new('String', ["ACTIVE", "INVALID", "INACTIVE"])
@ -255,6 +283,7 @@ module Kombo
return false if @created_at.nil?
return false if @beta.nil?
return false if @read_models.nil?
return false if @write_actions.nil?
true
end
@ -281,7 +310,7 @@ module Kombo
# Custom attribute writer method checking allowed values (enum).
# @param [Object] category Object to be assigned
def category=(category)
validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"])
validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT", "LMS"])
unless validator.valid?(category)
fail ArgumentError, "invalid value for \"category\", must be one of #{validator.allowable_values}."
end
@ -358,6 +387,16 @@ module Kombo
@read_models = read_models
end
# Custom attribute writer method with validation
# @param [Object] write_actions Value to be assigned
def write_actions=(write_actions)
if write_actions.nil?
fail ArgumentError, 'write_actions cannot be nil'
end
@write_actions = write_actions
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
@ -370,9 +409,11 @@ module Kombo
setup_status == o.setup_status &&
end_user == o.end_user &&
scope_config == o.scope_config &&
data_expired_at == o.data_expired_at &&
created_at == o.created_at &&
beta == o.beta &&
read_models == o.read_models
read_models == o.read_models &&
write_actions == o.write_actions
end
# @see the `==` method
@ -384,7 +425,7 @@ module Kombo
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[id, tool, category, status, setup_status, end_user, scope_config, created_at, beta, read_models].hash
[id, tool, category, status, setup_status, end_user, scope_config, data_expired_at, created_at, beta, read_models, write_actions].hash
end
# Builds the object from hash

View file

@ -0,0 +1,355 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class GetIntegrationsIntegrationIdPositiveResponseDataWriteActionsInner < ApiModelBase
# ID of the action (e.g. ats_create_candidate).
attr_accessor :id
# Label of the action (e.g. Create candidate).
attr_accessor :label
# Whether the datapoint is available and enabled and not opted out of.
attr_accessor :is_available
# The status of a datapoint of an integrated tool: - `SUPPORTED`: the tool supports the datapoint and it can be used through Kombo. - `UNSUPPORTED`: the tool does not support the datapoint. - `NOT_IMPLEMENTED`: tool supports the datapoint but it was not integrated by Kombo for a given reason (see coverage grid). - `UNKNOWN`: the datapoint is not integrated yet and Kombo has no information about it's availability in the tool.
attr_accessor :coverage_status
# The setting of the datapoint in the scope config that you configured in the Kombo dashboard.
attr_accessor :scope_config_setting
# Whether the datapoint is opted out by your customer in the connection flow.
attr_accessor :opted_out_by_customer
# Field support status for the action. Please note that action fields can't be configured in the scope config or opted out by your customer.
attr_accessor :fields
class EnumAttributeValidator
attr_reader :datatype
attr_reader :allowable_values
def initialize(datatype, allowable_values)
@allowable_values = allowable_values.map do |value|
case datatype.to_s
when /Integer/i
value.to_i
when /Float/i
value.to_f
else
value
end
end
end
def valid?(value)
!value || allowable_values.include?(value)
end
end
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'id' => :'id',
:'label' => :'label',
:'is_available' => :'is_available',
:'coverage_status' => :'coverage_status',
:'scope_config_setting' => :'scope_config_setting',
:'opted_out_by_customer' => :'opted_out_by_customer',
:'fields' => :'fields'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'id' => :'String',
:'label' => :'String',
:'is_available' => :'Boolean',
:'coverage_status' => :'String',
:'scope_config_setting' => :'String',
:'opted_out_by_customer' => :'Boolean',
:'fields' => :'Array<GetIntegrationsIntegrationIdPositiveResponseDataWriteActionsInnerFieldsInner>'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetIntegrationsIntegrationIdPositiveResponseDataWriteActionsInner` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetIntegrationsIntegrationIdPositiveResponseDataWriteActionsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'id')
self.id = attributes[:'id']
else
self.id = nil
end
if attributes.key?(:'label')
self.label = attributes[:'label']
else
self.label = nil
end
if attributes.key?(:'is_available')
self.is_available = attributes[:'is_available']
else
self.is_available = nil
end
if attributes.key?(:'coverage_status')
self.coverage_status = attributes[:'coverage_status']
else
self.coverage_status = nil
end
if attributes.key?(:'scope_config_setting')
self.scope_config_setting = attributes[:'scope_config_setting']
else
self.scope_config_setting = nil
end
if attributes.key?(:'opted_out_by_customer')
self.opted_out_by_customer = attributes[:'opted_out_by_customer']
else
self.opted_out_by_customer = nil
end
if attributes.key?(:'fields')
if (value = attributes[:'fields']).is_a?(Array)
self.fields = value
end
else
self.fields = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @id.nil?
invalid_properties.push('invalid value for "id", id cannot be nil.')
end
if @label.nil?
invalid_properties.push('invalid value for "label", label cannot be nil.')
end
if @is_available.nil?
invalid_properties.push('invalid value for "is_available", is_available cannot be nil.')
end
if @coverage_status.nil?
invalid_properties.push('invalid value for "coverage_status", coverage_status cannot be nil.')
end
if @scope_config_setting.nil?
invalid_properties.push('invalid value for "scope_config_setting", scope_config_setting cannot be nil.')
end
if @opted_out_by_customer.nil?
invalid_properties.push('invalid value for "opted_out_by_customer", opted_out_by_customer cannot be nil.')
end
if @fields.nil?
invalid_properties.push('invalid value for "fields", fields cannot be nil.')
end
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @id.nil?
return false if @label.nil?
return false if @is_available.nil?
return false if @coverage_status.nil?
coverage_status_validator = EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"])
return false unless coverage_status_validator.valid?(@coverage_status)
return false if @scope_config_setting.nil?
scope_config_setting_validator = EnumAttributeValidator.new('String', ["ENABLED", "DISABLED", "OPTIONAL"])
return false unless scope_config_setting_validator.valid?(@scope_config_setting)
return false if @opted_out_by_customer.nil?
return false if @fields.nil?
true
end
# Custom attribute writer method with validation
# @param [Object] id Value to be assigned
def id=(id)
if id.nil?
fail ArgumentError, 'id cannot be nil'
end
@id = id
end
# Custom attribute writer method with validation
# @param [Object] label Value to be assigned
def label=(label)
if label.nil?
fail ArgumentError, 'label cannot be nil'
end
@label = label
end
# Custom attribute writer method with validation
# @param [Object] is_available Value to be assigned
def is_available=(is_available)
if is_available.nil?
fail ArgumentError, 'is_available cannot be nil'
end
@is_available = is_available
end
# Custom attribute writer method checking allowed values (enum).
# @param [Object] coverage_status Object to be assigned
def coverage_status=(coverage_status)
validator = EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"])
unless validator.valid?(coverage_status)
fail ArgumentError, "invalid value for \"coverage_status\", must be one of #{validator.allowable_values}."
end
@coverage_status = coverage_status
end
# Custom attribute writer method checking allowed values (enum).
# @param [Object] scope_config_setting Object to be assigned
def scope_config_setting=(scope_config_setting)
validator = EnumAttributeValidator.new('String', ["ENABLED", "DISABLED", "OPTIONAL"])
unless validator.valid?(scope_config_setting)
fail ArgumentError, "invalid value for \"scope_config_setting\", must be one of #{validator.allowable_values}."
end
@scope_config_setting = scope_config_setting
end
# Custom attribute writer method with validation
# @param [Object] opted_out_by_customer Value to be assigned
def opted_out_by_customer=(opted_out_by_customer)
if opted_out_by_customer.nil?
fail ArgumentError, 'opted_out_by_customer cannot be nil'
end
@opted_out_by_customer = opted_out_by_customer
end
# Custom attribute writer method with validation
# @param [Object] fields Value to be assigned
def fields=(fields)
if fields.nil?
fail ArgumentError, 'fields cannot be nil'
end
@fields = fields
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
id == o.id &&
label == o.label &&
is_available == o.is_available &&
coverage_status == o.coverage_status &&
scope_config_setting == o.scope_config_setting &&
opted_out_by_customer == o.opted_out_by_customer &&
fields == o.fields
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[id, label, is_available, coverage_status, scope_config_setting, opted_out_by_customer, fields].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -0,0 +1,243 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class GetIntegrationsIntegrationIdPositiveResponseDataWriteActionsInnerFieldsInner < ApiModelBase
# Key of the input field (e.g. candidate.first_name).
attr_accessor :id
# Whether the datapoint is available and enabled and not opted out of.
attr_accessor :is_available
# The status of a datapoint of an integrated tool: - `SUPPORTED`: the tool supports the datapoint and it can be used through Kombo. - `UNSUPPORTED`: the tool does not support the datapoint. - `NOT_IMPLEMENTED`: tool supports the datapoint but it was not integrated by Kombo for a given reason (see coverage grid). - `UNKNOWN`: the datapoint is not integrated yet and Kombo has no information about it's availability in the tool.
attr_accessor :coverage_status
class EnumAttributeValidator
attr_reader :datatype
attr_reader :allowable_values
def initialize(datatype, allowable_values)
@allowable_values = allowable_values.map do |value|
case datatype.to_s
when /Integer/i
value.to_i
when /Float/i
value.to_f
else
value
end
end
end
def valid?(value)
!value || allowable_values.include?(value)
end
end
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'id' => :'id',
:'is_available' => :'is_available',
:'coverage_status' => :'coverage_status'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'id' => :'String',
:'is_available' => :'Boolean',
:'coverage_status' => :'String'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetIntegrationsIntegrationIdPositiveResponseDataWriteActionsInnerFieldsInner` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetIntegrationsIntegrationIdPositiveResponseDataWriteActionsInnerFieldsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'id')
self.id = attributes[:'id']
else
self.id = nil
end
if attributes.key?(:'is_available')
self.is_available = attributes[:'is_available']
else
self.is_available = nil
end
if attributes.key?(:'coverage_status')
self.coverage_status = attributes[:'coverage_status']
else
self.coverage_status = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @id.nil?
invalid_properties.push('invalid value for "id", id cannot be nil.')
end
if @is_available.nil?
invalid_properties.push('invalid value for "is_available", is_available cannot be nil.')
end
if @coverage_status.nil?
invalid_properties.push('invalid value for "coverage_status", coverage_status cannot be nil.')
end
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @id.nil?
return false if @is_available.nil?
return false if @coverage_status.nil?
coverage_status_validator = EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"])
return false unless coverage_status_validator.valid?(@coverage_status)
true
end
# Custom attribute writer method with validation
# @param [Object] id Value to be assigned
def id=(id)
if id.nil?
fail ArgumentError, 'id cannot be nil'
end
@id = id
end
# Custom attribute writer method with validation
# @param [Object] is_available Value to be assigned
def is_available=(is_available)
if is_available.nil?
fail ArgumentError, 'is_available cannot be nil'
end
@is_available = is_available
end
# Custom attribute writer method checking allowed values (enum).
# @param [Object] coverage_status Object to be assigned
def coverage_status=(coverage_status)
validator = EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"])
unless validator.valid?(coverage_status)
fail ArgumentError, "invalid value for \"coverage_status\", must be one of #{validator.allowable_values}."
end
@coverage_status = coverage_status
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
id == o.id &&
is_available == o.is_available &&
coverage_status == o.coverage_status
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[id, is_available, coverage_status].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -0,0 +1,40 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class GetLmsCourseProgressionsParameterIncludeDeleted
TRUE = "true".freeze
FALSE = "false".freeze
def self.all_vars
@all_vars ||= [TRUE, FALSE].freeze
end
# Builds the enum from string
# @param [String] The enum value in the form of the string
# @return [String] The enum value
def self.build_from_hash(value)
new.build_from_hash(value)
end
# Builds the enum from string
# @param [String] The enum value in the form of the string
# @return [String] The enum value
def build_from_hash(value)
return value if GetLmsCourseProgressionsParameterIncludeDeleted.all_vars.include?(value)
raise "Invalid ENUM value #{value} for class #GetLmsCourseProgressionsParameterIncludeDeleted"
end
end
end

View file

@ -0,0 +1,214 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class GetLmsCourseProgressionsPositiveResponse < ApiModelBase
attr_accessor :status
attr_accessor :data
class EnumAttributeValidator
attr_reader :datatype
attr_reader :allowable_values
def initialize(datatype, allowable_values)
@allowable_values = allowable_values.map do |value|
case datatype.to_s
when /Integer/i
value.to_i
when /Float/i
value.to_f
else
value
end
end
end
def valid?(value)
!value || allowable_values.include?(value)
end
end
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'status' => :'status',
:'data' => :'data'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'status' => :'String',
:'data' => :'GetLmsCourseProgressionsPositiveResponseData'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsCourseProgressionsPositiveResponse` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsCourseProgressionsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'status')
self.status = attributes[:'status']
else
self.status = nil
end
if attributes.key?(:'data')
self.data = attributes[:'data']
else
self.data = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @status.nil?
invalid_properties.push('invalid value for "status", status cannot be nil.')
end
if @data.nil?
invalid_properties.push('invalid value for "data", data cannot be nil.')
end
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @status.nil?
status_validator = EnumAttributeValidator.new('String', ["success"])
return false unless status_validator.valid?(@status)
return false if @data.nil?
true
end
# Custom attribute writer method checking allowed values (enum).
# @param [Object] status Object to be assigned
def status=(status)
validator = EnumAttributeValidator.new('String', ["success"])
unless validator.valid?(status)
fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
end
@status = status
end
# Custom attribute writer method with validation
# @param [Object] data Value to be assigned
def data=(data)
if data.nil?
fail ArgumentError, 'data cannot be nil'
end
@data = data
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
status == o.status &&
data == o.data
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[status, data].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -0,0 +1,179 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class GetLmsCourseProgressionsPositiveResponseData < ApiModelBase
# Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages.
attr_accessor :_next
attr_accessor :results
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'_next' => :'next',
:'results' => :'results'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'_next' => :'String',
:'results' => :'Array<GetLmsCourseProgressionsPositiveResponseDataResultsInner>'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
:'_next',
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsCourseProgressionsPositiveResponseData` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsCourseProgressionsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'_next')
self._next = attributes[:'_next']
else
self._next = nil
end
if attributes.key?(:'results')
if (value = attributes[:'results']).is_a?(Array)
self.results = value
end
else
self.results = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @results.nil?
invalid_properties.push('invalid value for "results", results cannot be nil.')
end
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @results.nil?
true
end
# Custom attribute writer method with validation
# @param [Object] results Value to be assigned
def results=(results)
if results.nil?
fail ArgumentError, 'results cannot be nil'
end
@results = results
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
_next == o._next &&
results == o.results
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[_next, results].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -0,0 +1,426 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class GetLmsCourseProgressionsPositiveResponseDataResultsInner < ApiModelBase
# The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing.
attr_accessor :id
# The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key.
attr_accessor :remote_id
# The Kombo ID of the user this progression relates to. The ID can be used to retrieve the user from the `get users` endpoint.
attr_accessor :user_id
# The Kombo ID of the revision this progression relates to. The ID can be used to retrieve the revision from the `get courses` endpoint.
attr_accessor :course_revision_id
# Current status of the learner in this course revision.
attr_accessor :status
# Date when the user enrolled in the course revision.
attr_accessor :enrolled_at
# Date when the user completed the course revision.
attr_accessor :completed_at
# The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.
attr_accessor :changed_at
# The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.
attr_accessor :remote_deleted_at
# Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it.
attr_accessor :remote_data
attr_accessor :user
attr_accessor :course_revision
class EnumAttributeValidator
attr_reader :datatype
attr_reader :allowable_values
def initialize(datatype, allowable_values)
@allowable_values = allowable_values.map do |value|
case datatype.to_s
when /Integer/i
value.to_i
when /Float/i
value.to_f
else
value
end
end
end
def valid?(value)
!value || allowable_values.include?(value)
end
end
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'id' => :'id',
:'remote_id' => :'remote_id',
:'user_id' => :'user_id',
:'course_revision_id' => :'course_revision_id',
:'status' => :'status',
:'enrolled_at' => :'enrolled_at',
:'completed_at' => :'completed_at',
:'changed_at' => :'changed_at',
:'remote_deleted_at' => :'remote_deleted_at',
:'remote_data' => :'remote_data',
:'user' => :'user',
:'course_revision' => :'course_revision'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'id' => :'String',
:'remote_id' => :'String',
:'user_id' => :'String',
:'course_revision_id' => :'String',
:'status' => :'String',
:'enrolled_at' => :'Time',
:'completed_at' => :'Time',
:'changed_at' => :'Time',
:'remote_deleted_at' => :'Time',
:'remote_data' => :'Hash<String, Object>',
:'user' => :'GetLmsCourseProgressionsPositiveResponseDataResultsInnerUser',
:'course_revision' => :'GetLmsCourseProgressionsPositiveResponseDataResultsInnerCourseRevision'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
:'status',
:'enrolled_at',
:'completed_at',
:'remote_deleted_at',
:'remote_data',
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsCourseProgressionsPositiveResponseDataResultsInner` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsCourseProgressionsPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'id')
self.id = attributes[:'id']
else
self.id = nil
end
if attributes.key?(:'remote_id')
self.remote_id = attributes[:'remote_id']
else
self.remote_id = nil
end
if attributes.key?(:'user_id')
self.user_id = attributes[:'user_id']
else
self.user_id = nil
end
if attributes.key?(:'course_revision_id')
self.course_revision_id = attributes[:'course_revision_id']
else
self.course_revision_id = nil
end
if attributes.key?(:'status')
self.status = attributes[:'status']
else
self.status = nil
end
if attributes.key?(:'enrolled_at')
self.enrolled_at = attributes[:'enrolled_at']
else
self.enrolled_at = nil
end
if attributes.key?(:'completed_at')
self.completed_at = attributes[:'completed_at']
else
self.completed_at = nil
end
if attributes.key?(:'changed_at')
self.changed_at = attributes[:'changed_at']
else
self.changed_at = nil
end
if attributes.key?(:'remote_deleted_at')
self.remote_deleted_at = attributes[:'remote_deleted_at']
else
self.remote_deleted_at = nil
end
if attributes.key?(:'remote_data')
if (value = attributes[:'remote_data']).is_a?(Hash)
self.remote_data = value
end
else
self.remote_data = nil
end
if attributes.key?(:'user')
self.user = attributes[:'user']
else
self.user = nil
end
if attributes.key?(:'course_revision')
self.course_revision = attributes[:'course_revision']
else
self.course_revision = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @id.nil?
invalid_properties.push('invalid value for "id", id cannot be nil.')
end
if @remote_id.nil?
invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.')
end
if @user_id.nil?
invalid_properties.push('invalid value for "user_id", user_id cannot be nil.')
end
if @course_revision_id.nil?
invalid_properties.push('invalid value for "course_revision_id", course_revision_id cannot be nil.')
end
if @changed_at.nil?
invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.')
end
if @user.nil?
invalid_properties.push('invalid value for "user", user cannot be nil.')
end
if @course_revision.nil?
invalid_properties.push('invalid value for "course_revision", course_revision cannot be nil.')
end
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @id.nil?
return false if @remote_id.nil?
return false if @user_id.nil?
return false if @course_revision_id.nil?
status_validator = EnumAttributeValidator.new('String', ["ENROLLED", "IN_PROGRESS", "COMPLETED", "DROPPED"])
return false unless status_validator.valid?(@status)
return false if @changed_at.nil?
return false if @user.nil?
return false if @course_revision.nil?
true
end
# Custom attribute writer method with validation
# @param [Object] id Value to be assigned
def id=(id)
if id.nil?
fail ArgumentError, 'id cannot be nil'
end
@id = id
end
# Custom attribute writer method with validation
# @param [Object] remote_id Value to be assigned
def remote_id=(remote_id)
if remote_id.nil?
fail ArgumentError, 'remote_id cannot be nil'
end
@remote_id = remote_id
end
# Custom attribute writer method with validation
# @param [Object] user_id Value to be assigned
def user_id=(user_id)
if user_id.nil?
fail ArgumentError, 'user_id cannot be nil'
end
@user_id = user_id
end
# Custom attribute writer method with validation
# @param [Object] course_revision_id Value to be assigned
def course_revision_id=(course_revision_id)
if course_revision_id.nil?
fail ArgumentError, 'course_revision_id cannot be nil'
end
@course_revision_id = course_revision_id
end
# Custom attribute writer method checking allowed values (enum).
# @param [Object] status Object to be assigned
def status=(status)
validator = EnumAttributeValidator.new('String', ["ENROLLED", "IN_PROGRESS", "COMPLETED", "DROPPED"])
unless validator.valid?(status)
fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
end
@status = status
end
# Custom attribute writer method with validation
# @param [Object] changed_at Value to be assigned
def changed_at=(changed_at)
if changed_at.nil?
fail ArgumentError, 'changed_at cannot be nil'
end
@changed_at = changed_at
end
# Custom attribute writer method with validation
# @param [Object] user Value to be assigned
def user=(user)
if user.nil?
fail ArgumentError, 'user cannot be nil'
end
@user = user
end
# Custom attribute writer method with validation
# @param [Object] course_revision Value to be assigned
def course_revision=(course_revision)
if course_revision.nil?
fail ArgumentError, 'course_revision cannot be nil'
end
@course_revision = course_revision
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
id == o.id &&
remote_id == o.remote_id &&
user_id == o.user_id &&
course_revision_id == o.course_revision_id &&
status == o.status &&
enrolled_at == o.enrolled_at &&
completed_at == o.completed_at &&
changed_at == o.changed_at &&
remote_deleted_at == o.remote_deleted_at &&
remote_data == o.remote_data &&
user == o.user &&
course_revision == o.course_revision
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[id, remote_id, user_id, course_revision_id, status, enrolled_at, completed_at, changed_at, remote_deleted_at, remote_data, user, course_revision].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -0,0 +1,231 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class GetLmsCourseProgressionsPositiveResponseDataResultsInnerCourseRevision < ApiModelBase
# The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing.
attr_accessor :id
# The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key.
attr_accessor :remote_id
# The title of the course revision.
attr_accessor :title
attr_accessor :course
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'id' => :'id',
:'remote_id' => :'remote_id',
:'title' => :'title',
:'course' => :'course'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'id' => :'String',
:'remote_id' => :'String',
:'title' => :'String',
:'course' => :'GetLmsCourseProgressionsPositiveResponseDataResultsInnerCourseRevisionCourse'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
:'title',
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsCourseProgressionsPositiveResponseDataResultsInnerCourseRevision` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsCourseProgressionsPositiveResponseDataResultsInnerCourseRevision`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'id')
self.id = attributes[:'id']
else
self.id = nil
end
if attributes.key?(:'remote_id')
self.remote_id = attributes[:'remote_id']
else
self.remote_id = nil
end
if attributes.key?(:'title')
self.title = attributes[:'title']
else
self.title = nil
end
if attributes.key?(:'course')
self.course = attributes[:'course']
else
self.course = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @id.nil?
invalid_properties.push('invalid value for "id", id cannot be nil.')
end
if @remote_id.nil?
invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.')
end
if @course.nil?
invalid_properties.push('invalid value for "course", course cannot be nil.')
end
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @id.nil?
return false if @remote_id.nil?
return false if @course.nil?
true
end
# Custom attribute writer method with validation
# @param [Object] id Value to be assigned
def id=(id)
if id.nil?
fail ArgumentError, 'id cannot be nil'
end
@id = id
end
# Custom attribute writer method with validation
# @param [Object] remote_id Value to be assigned
def remote_id=(remote_id)
if remote_id.nil?
fail ArgumentError, 'remote_id cannot be nil'
end
@remote_id = remote_id
end
# Custom attribute writer method with validation
# @param [Object] course Value to be assigned
def course=(course)
if course.nil?
fail ArgumentError, 'course cannot be nil'
end
@course = course
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
id == o.id &&
remote_id == o.remote_id &&
title == o.title &&
course == o.course
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[id, remote_id, title, course].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -0,0 +1,192 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class GetLmsCourseProgressionsPositiveResponseDataResultsInnerCourseRevisionCourse < ApiModelBase
# The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing.
attr_accessor :id
# The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key.
attr_accessor :remote_id
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'id' => :'id',
:'remote_id' => :'remote_id'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'id' => :'String',
:'remote_id' => :'String'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsCourseProgressionsPositiveResponseDataResultsInnerCourseRevisionCourse` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsCourseProgressionsPositiveResponseDataResultsInnerCourseRevisionCourse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'id')
self.id = attributes[:'id']
else
self.id = nil
end
if attributes.key?(:'remote_id')
self.remote_id = attributes[:'remote_id']
else
self.remote_id = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @id.nil?
invalid_properties.push('invalid value for "id", id cannot be nil.')
end
if @remote_id.nil?
invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.')
end
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @id.nil?
return false if @remote_id.nil?
true
end
# Custom attribute writer method with validation
# @param [Object] id Value to be assigned
def id=(id)
if id.nil?
fail ArgumentError, 'id cannot be nil'
end
@id = id
end
# Custom attribute writer method with validation
# @param [Object] remote_id Value to be assigned
def remote_id=(remote_id)
if remote_id.nil?
fail ArgumentError, 'remote_id cannot be nil'
end
@remote_id = remote_id
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
id == o.id &&
remote_id == o.remote_id
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[id, remote_id].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -0,0 +1,231 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class GetLmsCourseProgressionsPositiveResponseDataResultsInnerUser < ApiModelBase
# The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing.
attr_accessor :id
# The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key.
attr_accessor :remote_id
# The user's first name.
attr_accessor :first_name
# The user's last name.
attr_accessor :last_name
# The user's work email address.
attr_accessor :work_email
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'id' => :'id',
:'remote_id' => :'remote_id',
:'first_name' => :'first_name',
:'last_name' => :'last_name',
:'work_email' => :'work_email'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'id' => :'String',
:'remote_id' => :'String',
:'first_name' => :'String',
:'last_name' => :'String',
:'work_email' => :'String'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
:'first_name',
:'last_name',
:'work_email'
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsCourseProgressionsPositiveResponseDataResultsInnerUser` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsCourseProgressionsPositiveResponseDataResultsInnerUser`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'id')
self.id = attributes[:'id']
else
self.id = nil
end
if attributes.key?(:'remote_id')
self.remote_id = attributes[:'remote_id']
else
self.remote_id = nil
end
if attributes.key?(:'first_name')
self.first_name = attributes[:'first_name']
else
self.first_name = nil
end
if attributes.key?(:'last_name')
self.last_name = attributes[:'last_name']
else
self.last_name = nil
end
if attributes.key?(:'work_email')
self.work_email = attributes[:'work_email']
else
self.work_email = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @id.nil?
invalid_properties.push('invalid value for "id", id cannot be nil.')
end
if @remote_id.nil?
invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.')
end
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @id.nil?
return false if @remote_id.nil?
true
end
# Custom attribute writer method with validation
# @param [Object] id Value to be assigned
def id=(id)
if id.nil?
fail ArgumentError, 'id cannot be nil'
end
@id = id
end
# Custom attribute writer method with validation
# @param [Object] remote_id Value to be assigned
def remote_id=(remote_id)
if remote_id.nil?
fail ArgumentError, 'remote_id cannot be nil'
end
@remote_id = remote_id
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
id == o.id &&
remote_id == o.remote_id &&
first_name == o.first_name &&
last_name == o.last_name &&
work_email == o.work_email
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[id, remote_id, first_name, last_name, work_email].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -0,0 +1,40 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class GetLmsCoursesParameterIncludeDeleted
TRUE = "true".freeze
FALSE = "false".freeze
def self.all_vars
@all_vars ||= [TRUE, FALSE].freeze
end
# Builds the enum from string
# @param [String] The enum value in the form of the string
# @return [String] The enum value
def self.build_from_hash(value)
new.build_from_hash(value)
end
# Builds the enum from string
# @param [String] The enum value in the form of the string
# @return [String] The enum value
def build_from_hash(value)
return value if GetLmsCoursesParameterIncludeDeleted.all_vars.include?(value)
raise "Invalid ENUM value #{value} for class #GetLmsCoursesParameterIncludeDeleted"
end
end
end

View file

@ -21,47 +21,45 @@ module Kombo
# The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key.
attr_accessor :remote_id
# The title of the course.
attr_accessor :title
# A description of the course.
attr_accessor :description
# URL where the course can be accessed.
attr_accessor :url
# The Kombo ID of the course provider of this course, if applicable.
attr_accessor :provider_id
# The date and time the object was created in the remote system.
attr_accessor :remote_created_at
# Skills that learners will develop by completing this course.
attr_accessor :skills
# Ordered list of content items that make up this course.
attr_accessor :ordered_content
# The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.
attr_accessor :remote_deleted_at
# The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.
attr_accessor :changed_at
# Date when the course was deleted.
attr_accessor :remote_deleted_at
# Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it.
attr_accessor :remote_data
# A key-value store of fields not covered by the schema. [Read more](/custom-fields)
attr_accessor :custom_fields
# An array of selected passthrough integration fields. [Read more](/integration-fields)
attr_accessor :integration_fields
attr_accessor :provider
attr_accessor :revisions
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'id' => :'id',
:'remote_id' => :'remote_id',
:'title' => :'title',
:'description' => :'description',
:'url' => :'url',
:'provider_id' => :'provider_id',
:'remote_created_at' => :'remote_created_at',
:'skills' => :'skills',
:'ordered_content' => :'ordered_content',
:'changed_at' => :'changed_at',
:'remote_deleted_at' => :'remote_deleted_at',
:'remote_data' => :'remote_data'
:'changed_at' => :'changed_at',
:'remote_data' => :'remote_data',
:'custom_fields' => :'custom_fields',
:'integration_fields' => :'integration_fields',
:'provider' => :'provider',
:'revisions' => :'revisions'
}
end
@ -80,27 +78,26 @@ module Kombo
{
:'id' => :'String',
:'remote_id' => :'String',
:'title' => :'String',
:'description' => :'String',
:'url' => :'String',
:'provider_id' => :'String',
:'remote_created_at' => :'Time',
:'skills' => :'Array<GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner>',
:'ordered_content' => :'Array<GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner>',
:'remote_deleted_at' => :'Time',
:'changed_at' => :'Time',
:'remote_deleted_at' => :'String',
:'remote_data' => :'Hash<String, Object>'
:'remote_data' => :'Hash<String, Object>',
:'custom_fields' => :'Hash<String, Object>',
:'integration_fields' => :'Array<GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner>',
:'provider' => :'GetLmsCoursesPositiveResponseDataResultsInnerProvider',
:'revisions' => :'Array<GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInner>'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
:'description',
:'url',
:'provider_id',
:'remote_created_at',
:'skills',
:'remote_deleted_at',
:'remote_data'
:'remote_data',
:'custom_fields',
])
end
@ -132,22 +129,10 @@ module Kombo
self.remote_id = nil
end
if attributes.key?(:'title')
self.title = attributes[:'title']
if attributes.key?(:'provider_id')
self.provider_id = attributes[:'provider_id']
else
self.title = nil
end
if attributes.key?(:'description')
self.description = attributes[:'description']
else
self.description = nil
end
if attributes.key?(:'url')
self.url = attributes[:'url']
else
self.url = nil
self.provider_id = nil
end
if attributes.key?(:'remote_created_at')
@ -156,20 +141,10 @@ module Kombo
self.remote_created_at = nil
end
if attributes.key?(:'skills')
if (value = attributes[:'skills']).is_a?(Array)
self.skills = value
end
if attributes.key?(:'remote_deleted_at')
self.remote_deleted_at = attributes[:'remote_deleted_at']
else
self.skills = nil
end
if attributes.key?(:'ordered_content')
if (value = attributes[:'ordered_content']).is_a?(Array)
self.ordered_content = value
end
else
self.ordered_content = nil
self.remote_deleted_at = nil
end
if attributes.key?(:'changed_at')
@ -178,12 +153,6 @@ module Kombo
self.changed_at = nil
end
if attributes.key?(:'remote_deleted_at')
self.remote_deleted_at = attributes[:'remote_deleted_at']
else
self.remote_deleted_at = nil
end
if attributes.key?(:'remote_data')
if (value = attributes[:'remote_data']).is_a?(Hash)
self.remote_data = value
@ -191,6 +160,36 @@ module Kombo
else
self.remote_data = nil
end
if attributes.key?(:'custom_fields')
if (value = attributes[:'custom_fields']).is_a?(Hash)
self.custom_fields = value
end
else
self.custom_fields = nil
end
if attributes.key?(:'integration_fields')
if (value = attributes[:'integration_fields']).is_a?(Array)
self.integration_fields = value
end
else
self.integration_fields = nil
end
if attributes.key?(:'provider')
self.provider = attributes[:'provider']
else
self.provider = nil
end
if attributes.key?(:'revisions')
if (value = attributes[:'revisions']).is_a?(Array)
self.revisions = value
end
else
self.revisions = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
@ -206,18 +205,22 @@ module Kombo
invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.')
end
if @title.nil?
invalid_properties.push('invalid value for "title", title cannot be nil.')
end
if @ordered_content.nil?
invalid_properties.push('invalid value for "ordered_content", ordered_content cannot be nil.')
end
if @changed_at.nil?
invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.')
end
if @integration_fields.nil?
invalid_properties.push('invalid value for "integration_fields", integration_fields cannot be nil.')
end
if @provider.nil?
invalid_properties.push('invalid value for "provider", provider cannot be nil.')
end
if @revisions.nil?
invalid_properties.push('invalid value for "revisions", revisions cannot be nil.')
end
invalid_properties
end
@ -227,9 +230,10 @@ module Kombo
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @id.nil?
return false if @remote_id.nil?
return false if @title.nil?
return false if @ordered_content.nil?
return false if @changed_at.nil?
return false if @integration_fields.nil?
return false if @provider.nil?
return false if @revisions.nil?
true
end
@ -253,26 +257,6 @@ module Kombo
@remote_id = remote_id
end
# Custom attribute writer method with validation
# @param [Object] title Value to be assigned
def title=(title)
if title.nil?
fail ArgumentError, 'title cannot be nil'
end
@title = title
end
# Custom attribute writer method with validation
# @param [Object] ordered_content Value to be assigned
def ordered_content=(ordered_content)
if ordered_content.nil?
fail ArgumentError, 'ordered_content cannot be nil'
end
@ordered_content = ordered_content
end
# Custom attribute writer method with validation
# @param [Object] changed_at Value to be assigned
def changed_at=(changed_at)
@ -283,6 +267,36 @@ module Kombo
@changed_at = changed_at
end
# Custom attribute writer method with validation
# @param [Object] integration_fields Value to be assigned
def integration_fields=(integration_fields)
if integration_fields.nil?
fail ArgumentError, 'integration_fields cannot be nil'
end
@integration_fields = integration_fields
end
# Custom attribute writer method with validation
# @param [Object] provider Value to be assigned
def provider=(provider)
if provider.nil?
fail ArgumentError, 'provider cannot be nil'
end
@provider = provider
end
# Custom attribute writer method with validation
# @param [Object] revisions Value to be assigned
def revisions=(revisions)
if revisions.nil?
fail ArgumentError, 'revisions cannot be nil'
end
@revisions = revisions
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
@ -290,15 +304,15 @@ module Kombo
self.class == o.class &&
id == o.id &&
remote_id == o.remote_id &&
title == o.title &&
description == o.description &&
url == o.url &&
provider_id == o.provider_id &&
remote_created_at == o.remote_created_at &&
skills == o.skills &&
ordered_content == o.ordered_content &&
changed_at == o.changed_at &&
remote_deleted_at == o.remote_deleted_at &&
remote_data == o.remote_data
changed_at == o.changed_at &&
remote_data == o.remote_data &&
custom_fields == o.custom_fields &&
integration_fields == o.integration_fields &&
provider == o.provider &&
revisions == o.revisions
end
# @see the `==` method
@ -310,7 +324,7 @@ module Kombo
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[id, remote_id, title, description, url, remote_created_at, skills, ordered_content, changed_at, remote_deleted_at, remote_data].hash
[id, remote_id, provider_id, remote_created_at, remote_deleted_at, changed_at, remote_data, custom_fields, integration_fields, provider, revisions].hash
end
# Builds the object from hash

View file

@ -0,0 +1,205 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class GetLmsCoursesPositiveResponseDataResultsInnerProvider < ApiModelBase
# The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing.
attr_accessor :id
# The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key.
attr_accessor :remote_id
# The name of the provider.
attr_accessor :name
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'id' => :'id',
:'remote_id' => :'remote_id',
:'name' => :'name'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'id' => :'String',
:'remote_id' => :'String',
:'name' => :'String'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
:'name'
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsCoursesPositiveResponseDataResultsInnerProvider` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsCoursesPositiveResponseDataResultsInnerProvider`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'id')
self.id = attributes[:'id']
else
self.id = nil
end
if attributes.key?(:'remote_id')
self.remote_id = attributes[:'remote_id']
else
self.remote_id = nil
end
if attributes.key?(:'name')
self.name = attributes[:'name']
else
self.name = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @id.nil?
invalid_properties.push('invalid value for "id", id cannot be nil.')
end
if @remote_id.nil?
invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.')
end
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @id.nil?
return false if @remote_id.nil?
true
end
# Custom attribute writer method with validation
# @param [Object] id Value to be assigned
def id=(id)
if id.nil?
fail ArgumentError, 'id cannot be nil'
end
@id = id
end
# Custom attribute writer method with validation
# @param [Object] remote_id Value to be assigned
def remote_id=(remote_id)
if remote_id.nil?
fail ArgumentError, 'remote_id cannot be nil'
end
@remote_id = remote_id
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
id == o.id &&
remote_id == o.remote_id &&
name == o.name
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[id, remote_id, name].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -0,0 +1,418 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInner < ApiModelBase
# The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing.
attr_accessor :id
# The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key.
attr_accessor :remote_id
# The Kombo ID of the course this revision belongs to. The ID can be used to retrieve the course from the `get courses` endpoint.
attr_accessor :course_id
# The title of the course revision.
attr_accessor :title
# A description of the course revision.
attr_accessor :description
# The status of this revision (ACTIVE or INACTIVE).
attr_accessor :status
# The date and time the object was created in the remote system.
attr_accessor :remote_created_at
# The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.
attr_accessor :remote_deleted_at
# The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.
attr_accessor :changed_at
# Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it.
attr_accessor :remote_data
# A key-value store of fields not covered by the schema. [Read more](/custom-fields)
attr_accessor :custom_fields
# An array of selected passthrough integration fields. [Read more](/integration-fields)
attr_accessor :integration_fields
attr_accessor :skill_assignments
class EnumAttributeValidator
attr_reader :datatype
attr_reader :allowable_values
def initialize(datatype, allowable_values)
@allowable_values = allowable_values.map do |value|
case datatype.to_s
when /Integer/i
value.to_i
when /Float/i
value.to_f
else
value
end
end
end
def valid?(value)
!value || allowable_values.include?(value)
end
end
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'id' => :'id',
:'remote_id' => :'remote_id',
:'course_id' => :'course_id',
:'title' => :'title',
:'description' => :'description',
:'status' => :'status',
:'remote_created_at' => :'remote_created_at',
:'remote_deleted_at' => :'remote_deleted_at',
:'changed_at' => :'changed_at',
:'remote_data' => :'remote_data',
:'custom_fields' => :'custom_fields',
:'integration_fields' => :'integration_fields',
:'skill_assignments' => :'skill_assignments'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'id' => :'String',
:'remote_id' => :'String',
:'course_id' => :'String',
:'title' => :'String',
:'description' => :'String',
:'status' => :'String',
:'remote_created_at' => :'Time',
:'remote_deleted_at' => :'Time',
:'changed_at' => :'Time',
:'remote_data' => :'Hash<String, Object>',
:'custom_fields' => :'Hash<String, Object>',
:'integration_fields' => :'Array<GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner>',
:'skill_assignments' => :'Array<GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInnerSkillAssignmentsInner>'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
:'course_id',
:'title',
:'description',
:'status',
:'remote_created_at',
:'remote_deleted_at',
:'remote_data',
:'custom_fields',
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInner` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'id')
self.id = attributes[:'id']
else
self.id = nil
end
if attributes.key?(:'remote_id')
self.remote_id = attributes[:'remote_id']
else
self.remote_id = nil
end
if attributes.key?(:'course_id')
self.course_id = attributes[:'course_id']
else
self.course_id = nil
end
if attributes.key?(:'title')
self.title = attributes[:'title']
else
self.title = nil
end
if attributes.key?(:'description')
self.description = attributes[:'description']
else
self.description = nil
end
if attributes.key?(:'status')
self.status = attributes[:'status']
else
self.status = nil
end
if attributes.key?(:'remote_created_at')
self.remote_created_at = attributes[:'remote_created_at']
else
self.remote_created_at = nil
end
if attributes.key?(:'remote_deleted_at')
self.remote_deleted_at = attributes[:'remote_deleted_at']
else
self.remote_deleted_at = nil
end
if attributes.key?(:'changed_at')
self.changed_at = attributes[:'changed_at']
else
self.changed_at = nil
end
if attributes.key?(:'remote_data')
if (value = attributes[:'remote_data']).is_a?(Hash)
self.remote_data = value
end
else
self.remote_data = nil
end
if attributes.key?(:'custom_fields')
if (value = attributes[:'custom_fields']).is_a?(Hash)
self.custom_fields = value
end
else
self.custom_fields = nil
end
if attributes.key?(:'integration_fields')
if (value = attributes[:'integration_fields']).is_a?(Array)
self.integration_fields = value
end
else
self.integration_fields = nil
end
if attributes.key?(:'skill_assignments')
if (value = attributes[:'skill_assignments']).is_a?(Array)
self.skill_assignments = value
end
else
self.skill_assignments = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @id.nil?
invalid_properties.push('invalid value for "id", id cannot be nil.')
end
if @remote_id.nil?
invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.')
end
if @changed_at.nil?
invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.')
end
if @integration_fields.nil?
invalid_properties.push('invalid value for "integration_fields", integration_fields cannot be nil.')
end
if @skill_assignments.nil?
invalid_properties.push('invalid value for "skill_assignments", skill_assignments cannot be nil.')
end
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @id.nil?
return false if @remote_id.nil?
status_validator = EnumAttributeValidator.new('String', ["ACTIVE", "INACTIVE"])
return false unless status_validator.valid?(@status)
return false if @changed_at.nil?
return false if @integration_fields.nil?
return false if @skill_assignments.nil?
true
end
# Custom attribute writer method with validation
# @param [Object] id Value to be assigned
def id=(id)
if id.nil?
fail ArgumentError, 'id cannot be nil'
end
@id = id
end
# Custom attribute writer method with validation
# @param [Object] remote_id Value to be assigned
def remote_id=(remote_id)
if remote_id.nil?
fail ArgumentError, 'remote_id cannot be nil'
end
@remote_id = remote_id
end
# Custom attribute writer method checking allowed values (enum).
# @param [Object] status Object to be assigned
def status=(status)
validator = EnumAttributeValidator.new('String', ["ACTIVE", "INACTIVE"])
unless validator.valid?(status)
fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
end
@status = status
end
# Custom attribute writer method with validation
# @param [Object] changed_at Value to be assigned
def changed_at=(changed_at)
if changed_at.nil?
fail ArgumentError, 'changed_at cannot be nil'
end
@changed_at = changed_at
end
# Custom attribute writer method with validation
# @param [Object] integration_fields Value to be assigned
def integration_fields=(integration_fields)
if integration_fields.nil?
fail ArgumentError, 'integration_fields cannot be nil'
end
@integration_fields = integration_fields
end
# Custom attribute writer method with validation
# @param [Object] skill_assignments Value to be assigned
def skill_assignments=(skill_assignments)
if skill_assignments.nil?
fail ArgumentError, 'skill_assignments cannot be nil'
end
@skill_assignments = skill_assignments
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
id == o.id &&
remote_id == o.remote_id &&
course_id == o.course_id &&
title == o.title &&
description == o.description &&
status == o.status &&
remote_created_at == o.remote_created_at &&
remote_deleted_at == o.remote_deleted_at &&
changed_at == o.changed_at &&
remote_data == o.remote_data &&
custom_fields == o.custom_fields &&
integration_fields == o.integration_fields &&
skill_assignments == o.skill_assignments
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[id, remote_id, course_id, title, description, status, remote_created_at, remote_deleted_at, changed_at, remote_data, custom_fields, integration_fields, skill_assignments].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -0,0 +1,164 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInnerSkillAssignmentsInner < ApiModelBase
attr_accessor :skill
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'skill' => :'skill'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'skill' => :'GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInnerSkillAssignmentsInnerSkill'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInnerSkillAssignmentsInner` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInnerSkillAssignmentsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'skill')
self.skill = attributes[:'skill']
else
self.skill = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @skill.nil?
invalid_properties.push('invalid value for "skill", skill cannot be nil.')
end
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @skill.nil?
true
end
# Custom attribute writer method with validation
# @param [Object] skill Value to be assigned
def skill=(skill)
if skill.nil?
fail ArgumentError, 'skill cannot be nil'
end
@skill = skill
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
skill == o.skill
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[skill].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -0,0 +1,191 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInnerSkillAssignmentsInnerSkill < ApiModelBase
# The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing.
attr_accessor :id
# The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key.
attr_accessor :remote_id
# The name of the skill.
attr_accessor :name
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'id' => :'id',
:'remote_id' => :'remote_id',
:'name' => :'name'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'id' => :'String',
:'remote_id' => :'String',
:'name' => :'String'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
:'remote_id',
:'name'
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInnerSkillAssignmentsInnerSkill` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsCoursesPositiveResponseDataResultsInnerRevisionsInnerSkillAssignmentsInnerSkill`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'id')
self.id = attributes[:'id']
else
self.id = nil
end
if attributes.key?(:'remote_id')
self.remote_id = attributes[:'remote_id']
else
self.remote_id = nil
end
if attributes.key?(:'name')
self.name = attributes[:'name']
else
self.name = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @id.nil?
invalid_properties.push('invalid value for "id", id cannot be nil.')
end
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @id.nil?
true
end
# Custom attribute writer method with validation
# @param [Object] id Value to be assigned
def id=(id)
if id.nil?
fail ArgumentError, 'id cannot be nil'
end
@id = id
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
id == o.id &&
remote_id == o.remote_id &&
name == o.name
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[id, remote_id, name].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -0,0 +1,40 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class GetLmsSkillsParameterIncludeDeleted
TRUE = "true".freeze
FALSE = "false".freeze
def self.all_vars
@all_vars ||= [TRUE, FALSE].freeze
end
# Builds the enum from string
# @param [String] The enum value in the form of the string
# @return [String] The enum value
def self.build_from_hash(value)
new.build_from_hash(value)
end
# Builds the enum from string
# @param [String] The enum value in the form of the string
# @return [String] The enum value
def build_from_hash(value)
return value if GetLmsSkillsParameterIncludeDeleted.all_vars.include?(value)
raise "Invalid ENUM value #{value} for class #GetLmsSkillsParameterIncludeDeleted"
end
end
end

View file

@ -0,0 +1,214 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class GetLmsSkillsPositiveResponse < ApiModelBase
attr_accessor :status
attr_accessor :data
class EnumAttributeValidator
attr_reader :datatype
attr_reader :allowable_values
def initialize(datatype, allowable_values)
@allowable_values = allowable_values.map do |value|
case datatype.to_s
when /Integer/i
value.to_i
when /Float/i
value.to_f
else
value
end
end
end
def valid?(value)
!value || allowable_values.include?(value)
end
end
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'status' => :'status',
:'data' => :'data'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'status' => :'String',
:'data' => :'GetLmsSkillsPositiveResponseData'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsSkillsPositiveResponse` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsSkillsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'status')
self.status = attributes[:'status']
else
self.status = nil
end
if attributes.key?(:'data')
self.data = attributes[:'data']
else
self.data = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @status.nil?
invalid_properties.push('invalid value for "status", status cannot be nil.')
end
if @data.nil?
invalid_properties.push('invalid value for "data", data cannot be nil.')
end
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @status.nil?
status_validator = EnumAttributeValidator.new('String', ["success"])
return false unless status_validator.valid?(@status)
return false if @data.nil?
true
end
# Custom attribute writer method checking allowed values (enum).
# @param [Object] status Object to be assigned
def status=(status)
validator = EnumAttributeValidator.new('String', ["success"])
unless validator.valid?(status)
fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
end
@status = status
end
# Custom attribute writer method with validation
# @param [Object] data Value to be assigned
def data=(data)
if data.nil?
fail ArgumentError, 'data cannot be nil'
end
@data = data
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
status == o.status &&
data == o.data
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[status, data].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -0,0 +1,179 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class GetLmsSkillsPositiveResponseData < ApiModelBase
# Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages.
attr_accessor :_next
attr_accessor :results
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'_next' => :'next',
:'results' => :'results'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'_next' => :'String',
:'results' => :'Array<GetLmsSkillsPositiveResponseDataResultsInner>'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
:'_next',
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsSkillsPositiveResponseData` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsSkillsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'_next')
self._next = attributes[:'_next']
else
self._next = nil
end
if attributes.key?(:'results')
if (value = attributes[:'results']).is_a?(Array)
self.results = value
end
else
self.results = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @results.nil?
invalid_properties.push('invalid value for "results", results cannot be nil.')
end
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @results.nil?
true
end
# Custom attribute writer method with validation
# @param [Object] results Value to be assigned
def results=(results)
if results.nil?
fail ArgumentError, 'results cannot be nil'
end
@results = results
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
_next == o._next &&
results == o.results
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[_next, results].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -0,0 +1,303 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class GetLmsSkillsPositiveResponseDataResultsInner < ApiModelBase
# The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing.
attr_accessor :id
# The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key.
attr_accessor :remote_id
# The name of the skill.
attr_accessor :name
# The date and time the object was created in the remote system.
attr_accessor :remote_created_at
# The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.
attr_accessor :remote_deleted_at
# The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.
attr_accessor :changed_at
# Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it.
attr_accessor :remote_data
# A key-value store of fields not covered by the schema. [Read more](/custom-fields)
attr_accessor :custom_fields
# An array of selected passthrough integration fields. [Read more](/integration-fields)
attr_accessor :integration_fields
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'id' => :'id',
:'remote_id' => :'remote_id',
:'name' => :'name',
:'remote_created_at' => :'remote_created_at',
:'remote_deleted_at' => :'remote_deleted_at',
:'changed_at' => :'changed_at',
:'remote_data' => :'remote_data',
:'custom_fields' => :'custom_fields',
:'integration_fields' => :'integration_fields'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'id' => :'String',
:'remote_id' => :'String',
:'name' => :'String',
:'remote_created_at' => :'Time',
:'remote_deleted_at' => :'Time',
:'changed_at' => :'Time',
:'remote_data' => :'Hash<String, Object>',
:'custom_fields' => :'Hash<String, Object>',
:'integration_fields' => :'Array<GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner>'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
:'remote_id',
:'name',
:'remote_created_at',
:'remote_deleted_at',
:'remote_data',
:'custom_fields',
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsSkillsPositiveResponseDataResultsInner` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsSkillsPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'id')
self.id = attributes[:'id']
else
self.id = nil
end
if attributes.key?(:'remote_id')
self.remote_id = attributes[:'remote_id']
else
self.remote_id = nil
end
if attributes.key?(:'name')
self.name = attributes[:'name']
else
self.name = nil
end
if attributes.key?(:'remote_created_at')
self.remote_created_at = attributes[:'remote_created_at']
else
self.remote_created_at = nil
end
if attributes.key?(:'remote_deleted_at')
self.remote_deleted_at = attributes[:'remote_deleted_at']
else
self.remote_deleted_at = nil
end
if attributes.key?(:'changed_at')
self.changed_at = attributes[:'changed_at']
else
self.changed_at = nil
end
if attributes.key?(:'remote_data')
if (value = attributes[:'remote_data']).is_a?(Hash)
self.remote_data = value
end
else
self.remote_data = nil
end
if attributes.key?(:'custom_fields')
if (value = attributes[:'custom_fields']).is_a?(Hash)
self.custom_fields = value
end
else
self.custom_fields = nil
end
if attributes.key?(:'integration_fields')
if (value = attributes[:'integration_fields']).is_a?(Array)
self.integration_fields = value
end
else
self.integration_fields = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @id.nil?
invalid_properties.push('invalid value for "id", id cannot be nil.')
end
if @changed_at.nil?
invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.')
end
if @integration_fields.nil?
invalid_properties.push('invalid value for "integration_fields", integration_fields cannot be nil.')
end
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @id.nil?
return false if @changed_at.nil?
return false if @integration_fields.nil?
true
end
# Custom attribute writer method with validation
# @param [Object] id Value to be assigned
def id=(id)
if id.nil?
fail ArgumentError, 'id cannot be nil'
end
@id = id
end
# Custom attribute writer method with validation
# @param [Object] changed_at Value to be assigned
def changed_at=(changed_at)
if changed_at.nil?
fail ArgumentError, 'changed_at cannot be nil'
end
@changed_at = changed_at
end
# Custom attribute writer method with validation
# @param [Object] integration_fields Value to be assigned
def integration_fields=(integration_fields)
if integration_fields.nil?
fail ArgumentError, 'integration_fields cannot be nil'
end
@integration_fields = integration_fields
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
id == o.id &&
remote_id == o.remote_id &&
name == o.name &&
remote_created_at == o.remote_created_at &&
remote_deleted_at == o.remote_deleted_at &&
changed_at == o.changed_at &&
remote_data == o.remote_data &&
custom_fields == o.custom_fields &&
integration_fields == o.integration_fields
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[id, remote_id, name, remote_created_at, remote_deleted_at, changed_at, remote_data, custom_fields, integration_fields].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -0,0 +1,40 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class GetLmsUsersParameterIncludeDeleted
TRUE = "true".freeze
FALSE = "false".freeze
def self.all_vars
@all_vars ||= [TRUE, FALSE].freeze
end
# Builds the enum from string
# @param [String] The enum value in the form of the string
# @return [String] The enum value
def self.build_from_hash(value)
new.build_from_hash(value)
end
# Builds the enum from string
# @param [String] The enum value in the form of the string
# @return [String] The enum value
def build_from_hash(value)
return value if GetLmsUsersParameterIncludeDeleted.all_vars.include?(value)
raise "Invalid ENUM value #{value} for class #GetLmsUsersParameterIncludeDeleted"
end
end
end

View file

@ -36,8 +36,8 @@ module Kombo
# The date and time the object was created in the remote system.
attr_accessor :remote_created_at
# Array of course progress records for this user.
attr_accessor :progress
# The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.
attr_accessor :remote_deleted_at
# The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.
attr_accessor :changed_at
@ -45,6 +45,12 @@ module Kombo
# Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it.
attr_accessor :remote_data
# A key-value store of fields not covered by the schema. [Read more](/custom-fields)
attr_accessor :custom_fields
# An array of selected passthrough integration fields. [Read more](/integration-fields)
attr_accessor :integration_fields
class EnumAttributeValidator
attr_reader :datatype
attr_reader :allowable_values
@ -77,9 +83,11 @@ module Kombo
:'work_email' => :'work_email',
:'status' => :'status',
:'remote_created_at' => :'remote_created_at',
:'progress' => :'progress',
:'remote_deleted_at' => :'remote_deleted_at',
:'changed_at' => :'changed_at',
:'remote_data' => :'remote_data'
:'remote_data' => :'remote_data',
:'custom_fields' => :'custom_fields',
:'integration_fields' => :'integration_fields'
}
end
@ -103,9 +111,11 @@ module Kombo
:'work_email' => :'String',
:'status' => :'String',
:'remote_created_at' => :'Time',
:'progress' => :'Array<GetLmsUsersPositiveResponseDataResultsInnerProgressInner>',
:'remote_deleted_at' => :'Time',
:'changed_at' => :'Time',
:'remote_data' => :'Hash<String, Object>'
:'remote_data' => :'Hash<String, Object>',
:'custom_fields' => :'Hash<String, Object>',
:'integration_fields' => :'Array<GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner>'
}
end
@ -115,8 +125,11 @@ module Kombo
:'first_name',
:'last_name',
:'work_email',
:'status',
:'remote_created_at',
:'remote_data'
:'remote_deleted_at',
:'remote_data',
:'custom_fields',
])
end
@ -178,12 +191,10 @@ module Kombo
self.remote_created_at = nil
end
if attributes.key?(:'progress')
if (value = attributes[:'progress']).is_a?(Array)
self.progress = value
end
if attributes.key?(:'remote_deleted_at')
self.remote_deleted_at = attributes[:'remote_deleted_at']
else
self.progress = nil
self.remote_deleted_at = nil
end
if attributes.key?(:'changed_at')
@ -199,6 +210,22 @@ module Kombo
else
self.remote_data = nil
end
if attributes.key?(:'custom_fields')
if (value = attributes[:'custom_fields']).is_a?(Hash)
self.custom_fields = value
end
else
self.custom_fields = nil
end
if attributes.key?(:'integration_fields')
if (value = attributes[:'integration_fields']).is_a?(Array)
self.integration_fields = value
end
else
self.integration_fields = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
@ -214,18 +241,14 @@ module Kombo
invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.')
end
if @status.nil?
invalid_properties.push('invalid value for "status", status cannot be nil.')
end
if @progress.nil?
invalid_properties.push('invalid value for "progress", progress cannot be nil.')
end
if @changed_at.nil?
invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.')
end
if @integration_fields.nil?
invalid_properties.push('invalid value for "integration_fields", integration_fields cannot be nil.')
end
invalid_properties
end
@ -235,11 +258,10 @@ module Kombo
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @id.nil?
return false if @remote_id.nil?
return false if @status.nil?
status_validator = EnumAttributeValidator.new('String', ["ACTIVE", "INACTIVE"])
return false unless status_validator.valid?(@status)
return false if @progress.nil?
return false if @changed_at.nil?
return false if @integration_fields.nil?
true
end
@ -273,16 +295,6 @@ module Kombo
@status = status
end
# Custom attribute writer method with validation
# @param [Object] progress Value to be assigned
def progress=(progress)
if progress.nil?
fail ArgumentError, 'progress cannot be nil'
end
@progress = progress
end
# Custom attribute writer method with validation
# @param [Object] changed_at Value to be assigned
def changed_at=(changed_at)
@ -293,6 +305,16 @@ module Kombo
@changed_at = changed_at
end
# Custom attribute writer method with validation
# @param [Object] integration_fields Value to be assigned
def integration_fields=(integration_fields)
if integration_fields.nil?
fail ArgumentError, 'integration_fields cannot be nil'
end
@integration_fields = integration_fields
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
@ -305,9 +327,11 @@ module Kombo
work_email == o.work_email &&
status == o.status &&
remote_created_at == o.remote_created_at &&
progress == o.progress &&
remote_deleted_at == o.remote_deleted_at &&
changed_at == o.changed_at &&
remote_data == o.remote_data
remote_data == o.remote_data &&
custom_fields == o.custom_fields &&
integration_fields == o.integration_fields
end
# @see the `==` method
@ -319,7 +343,7 @@ module Kombo
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[id, remote_id, first_name, last_name, work_email, status, remote_created_at, progress, changed_at, remote_data].hash
[id, remote_id, first_name, last_name, work_email, status, remote_created_at, remote_deleted_at, changed_at, remote_data, custom_fields, integration_fields].hash
end
# Builds the object from hash

View file

@ -18,9 +18,10 @@ module Kombo
HRIS = "hris".freeze
ATS = "ats".freeze
ASSESSMENT = "assessment".freeze
LMS = "lms".freeze
def self.all_vars
@all_vars ||= [HRIS, ATS, ASSESSMENT].freeze
@all_vars ||= [HRIS, ATS, ASSESSMENT, LMS].freeze
end
# Builds the enum from string

View file

@ -23,6 +23,8 @@ module Kombo
# The status of a datapoint of an integrated tool: - `SUPPORTED`: the tool supports the datapoint and it can be used through Kombo. - `UNSUPPORTED`: the tool does not support the datapoint. - `NOT_IMPLEMENTED`: tool supports the datapoint but it was not integrated by Kombo for a given reason (see coverage grid). - `UNKNOWN`: the datapoint is not integrated yet and Kombo has no information about it's availability in the tool.
attr_accessor :coverage_status
attr_accessor :fields
class EnumAttributeValidator
attr_reader :datatype
attr_reader :allowable_values
@ -50,7 +52,8 @@ module Kombo
{
:'id' => :'id',
:'label' => :'label',
:'coverage_status' => :'coverage_status'
:'coverage_status' => :'coverage_status',
:'fields' => :'fields'
}
end
@ -69,7 +72,8 @@ module Kombo
{
:'id' => :'String',
:'label' => :'String',
:'coverage_status' => :'String'
:'coverage_status' => :'String',
:'fields' => :'Array<GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInnerFieldsInner>'
}
end
@ -112,6 +116,14 @@ module Kombo
else
self.coverage_status = nil
end
if attributes.key?(:'fields')
if (value = attributes[:'fields']).is_a?(Array)
self.fields = value
end
else
self.fields = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
@ -131,6 +143,10 @@ module Kombo
invalid_properties.push('invalid value for "coverage_status", coverage_status cannot be nil.')
end
if @fields.nil?
invalid_properties.push('invalid value for "fields", fields cannot be nil.')
end
invalid_properties
end
@ -143,6 +159,7 @@ module Kombo
return false if @coverage_status.nil?
coverage_status_validator = EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"])
return false unless coverage_status_validator.valid?(@coverage_status)
return false if @fields.nil?
true
end
@ -176,6 +193,16 @@ module Kombo
@coverage_status = coverage_status
end
# Custom attribute writer method with validation
# @param [Object] fields Value to be assigned
def fields=(fields)
if fields.nil?
fail ArgumentError, 'fields cannot be nil'
end
@fields = fields
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
@ -183,7 +210,8 @@ module Kombo
self.class == o.class &&
id == o.id &&
label == o.label &&
coverage_status == o.coverage_status
coverage_status == o.coverage_status &&
fields == o.fields
end
# @see the `==` method
@ -195,7 +223,7 @@ module Kombo
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[id, label, coverage_status].hash
[id, label, coverage_status, fields].hash
end
# Builds the object from hash

View file

@ -0,0 +1,216 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInnerFieldsInner < ApiModelBase
# Key of the input field (e.g. `candidate.first_name`).
attr_accessor :id
# The status of a datapoint of an integrated tool: - `SUPPORTED`: the tool supports the datapoint and it can be used through Kombo. - `UNSUPPORTED`: the tool does not support the datapoint. - `NOT_IMPLEMENTED`: tool supports the datapoint but it was not integrated by Kombo for a given reason (see coverage grid). - `UNKNOWN`: the datapoint is not integrated yet and Kombo has no information about it's availability in the tool.
attr_accessor :coverage_status
class EnumAttributeValidator
attr_reader :datatype
attr_reader :allowable_values
def initialize(datatype, allowable_values)
@allowable_values = allowable_values.map do |value|
case datatype.to_s
when /Integer/i
value.to_i
when /Float/i
value.to_f
else
value
end
end
end
def valid?(value)
!value || allowable_values.include?(value)
end
end
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'id' => :'id',
:'coverage_status' => :'coverage_status'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'id' => :'String',
:'coverage_status' => :'String'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInnerFieldsInner` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInnerFieldsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'id')
self.id = attributes[:'id']
else
self.id = nil
end
if attributes.key?(:'coverage_status')
self.coverage_status = attributes[:'coverage_status']
else
self.coverage_status = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @id.nil?
invalid_properties.push('invalid value for "id", id cannot be nil.')
end
if @coverage_status.nil?
invalid_properties.push('invalid value for "coverage_status", coverage_status cannot be nil.')
end
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @id.nil?
return false if @coverage_status.nil?
coverage_status_validator = EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"])
return false unless coverage_status_validator.valid?(@coverage_status)
true
end
# Custom attribute writer method with validation
# @param [Object] id Value to be assigned
def id=(id)
if id.nil?
fail ArgumentError, 'id cannot be nil'
end
@id = id
end
# Custom attribute writer method checking allowed values (enum).
# @param [Object] coverage_status Object to be assigned
def coverage_status=(coverage_status)
validator = EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"])
unless validator.valid?(coverage_status)
fail ArgumentError, "invalid value for \"coverage_status\", must be one of #{validator.allowable_values}."
end
@coverage_status = coverage_status
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
id == o.id &&
coverage_status == o.coverage_status
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[id, coverage_status].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -146,7 +146,7 @@ module Kombo
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
code_validator = EnumAttributeValidator.new('String', ["PLATFORM.RATE_LIMIT_EXCEEDED", "PLATFORM.INTEGRATION_NOT_FOUND", "PLATFORM.INPUT_INVALID", "PLATFORM.UNKNOWN_ERROR", "PLATFORM.IP_NOT_WHITELISTED", "PLATFORM.AUTHENTICATION_INVALID", "INTEGRATION.PERMISSION_MISSING", "INTEGRATION.AUTHENTICATION_INVALID", "INTEGRATION.QA_FAILED", "INTEGRATION.SETUP_SYNC_PENDING", "INTEGRATION.SETUP_INCOMPLETE", "INTEGRATION.INACTIVE", "INTEGRATION.MODEL_NOT_AVAILABLE", "INTEGRATION.MODEL_DISABLED", "INTEGRATION.ACTION_NOT_AVAILABLE", "INTEGRATION.ACTION_DISABLED", "REMOTE.SERVICE_UNAVAILABLE", "REMOTE.RATE_LIMIT_EXCEEDED", "REMOTE.INPUT_INVALID", "REMOTE.UNKNOWN_HTTP_ERROR"])
code_validator = EnumAttributeValidator.new('String', ["PLATFORM.RATE_LIMIT_EXCEEDED", "PLATFORM.INTEGRATION_NOT_FOUND", "PLATFORM.INPUT_INVALID", "PLATFORM.UNKNOWN_ERROR", "PLATFORM.IP_NOT_WHITELISTED", "PLATFORM.AUTHENTICATION_INVALID", "INTEGRATION.PERMISSION_MISSING", "INTEGRATION.AUTHENTICATION_INVALID", "INTEGRATION.QA_FAILED", "INTEGRATION.SETUP_SYNC_PENDING", "INTEGRATION.SETUP_INCOMPLETE", "INTEGRATION.INACTIVE", "INTEGRATION.MODEL_NOT_AVAILABLE", "INTEGRATION.MODEL_DISABLED", "INTEGRATION.ACTION_NOT_AVAILABLE", "INTEGRATION.ACTION_DISABLED", "REMOTE.SERVICE_UNAVAILABLE", "REMOTE.RATE_LIMIT_EXCEEDED", "REMOTE.INPUT_INVALID", "REMOTE.UNKNOWN_HTTP_ERROR", "HRIS.EMPLOYEE_ALREADY_EXISTS"])
return false unless code_validator.valid?(@code)
return false if @message.nil?
true
@ -155,7 +155,7 @@ module Kombo
# Custom attribute writer method checking allowed values (enum).
# @param [Object] code Object to be assigned
def code=(code)
validator = EnumAttributeValidator.new('String', ["PLATFORM.RATE_LIMIT_EXCEEDED", "PLATFORM.INTEGRATION_NOT_FOUND", "PLATFORM.INPUT_INVALID", "PLATFORM.UNKNOWN_ERROR", "PLATFORM.IP_NOT_WHITELISTED", "PLATFORM.AUTHENTICATION_INVALID", "INTEGRATION.PERMISSION_MISSING", "INTEGRATION.AUTHENTICATION_INVALID", "INTEGRATION.QA_FAILED", "INTEGRATION.SETUP_SYNC_PENDING", "INTEGRATION.SETUP_INCOMPLETE", "INTEGRATION.INACTIVE", "INTEGRATION.MODEL_NOT_AVAILABLE", "INTEGRATION.MODEL_DISABLED", "INTEGRATION.ACTION_NOT_AVAILABLE", "INTEGRATION.ACTION_DISABLED", "REMOTE.SERVICE_UNAVAILABLE", "REMOTE.RATE_LIMIT_EXCEEDED", "REMOTE.INPUT_INVALID", "REMOTE.UNKNOWN_HTTP_ERROR"])
validator = EnumAttributeValidator.new('String', ["PLATFORM.RATE_LIMIT_EXCEEDED", "PLATFORM.INTEGRATION_NOT_FOUND", "PLATFORM.INPUT_INVALID", "PLATFORM.UNKNOWN_ERROR", "PLATFORM.IP_NOT_WHITELISTED", "PLATFORM.AUTHENTICATION_INVALID", "INTEGRATION.PERMISSION_MISSING", "INTEGRATION.AUTHENTICATION_INVALID", "INTEGRATION.QA_FAILED", "INTEGRATION.SETUP_SYNC_PENDING", "INTEGRATION.SETUP_INCOMPLETE", "INTEGRATION.INACTIVE", "INTEGRATION.MODEL_NOT_AVAILABLE", "INTEGRATION.MODEL_DISABLED", "INTEGRATION.ACTION_NOT_AVAILABLE", "INTEGRATION.ACTION_DISABLED", "REMOTE.SERVICE_UNAVAILABLE", "REMOTE.RATE_LIMIT_EXCEEDED", "REMOTE.INPUT_INVALID", "REMOTE.UNKNOWN_HTTP_ERROR", "HRIS.EMPLOYEE_ALREADY_EXISTS"])
unless validator.valid?(code)
fail ArgumentError, "invalid value for \"code\", must be one of #{validator.allowable_values}."
end

View file

@ -156,7 +156,7 @@ module Kombo
return false if @id.nil?
return false if @tool.nil?
return false if @category.nil?
category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"])
category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT", "LMS"])
return false unless category_validator.valid?(@category)
return false if @end_user.nil?
true
@ -185,7 +185,7 @@ module Kombo
# Custom attribute writer method checking allowed values (enum).
# @param [Object] category Object to be assigned
def category=(category)
validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"])
validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT", "LMS"])
unless validator.valid?(category)
fail ArgumentError, "invalid value for \"category\", must be one of #{validator.allowable_values}."
end

View file

@ -171,7 +171,7 @@ module Kombo
return false if @id.nil?
return false if @tool.nil?
return false if @category.nil?
category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"])
category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT", "LMS"])
return false unless category_validator.valid?(@category)
return false if @end_user.nil?
return false if @deleted_at.nil?
@ -201,7 +201,7 @@ module Kombo
# Custom attribute writer method checking allowed values (enum).
# @param [Object] category Object to be assigned
def category=(category)
validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"])
validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT", "LMS"])
unless validator.valid?(category)
fail ArgumentError, "invalid value for \"category\", must be one of #{validator.allowable_values}."
end

View file

@ -21,7 +21,7 @@ module Kombo
# The unique identifier of the integration.
attr_accessor :integration_id
# The category of the integration (HRIS, ATS, or ASSESSMENT).
# The category of the integration (HRIS, ATS, ASSESSMENT, or LMS).
attr_accessor :integration_category
attr_accessor :end_user
@ -201,7 +201,7 @@ module Kombo
return false if @integration_tool.nil?
return false if @integration_id.nil?
return false if @integration_category.nil?
integration_category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"])
integration_category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT", "LMS"])
return false unless integration_category_validator.valid?(@integration_category)
return false if @end_user.nil?
return false if @qa_status.nil?
@ -237,7 +237,7 @@ module Kombo
# Custom attribute writer method checking allowed values (enum).
# @param [Object] integration_category Object to be assigned
def integration_category=(integration_category)
validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"])
validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT", "LMS"])
unless validator.valid?(integration_category)
fail ArgumentError, "invalid value for \"integration_category\", must be one of #{validator.allowable_values}."
end

View file

@ -23,6 +23,8 @@ module Kombo
attr_accessor :state
attr_accessor :street_1
attr_accessor :zip_code
# Attribute mapping from ruby-style variable name to JSON key.
@ -31,6 +33,7 @@ module Kombo
:'city' => :'city',
:'country' => :'country',
:'state' => :'state',
:'street_1' => :'street_1',
:'zip_code' => :'zip_code'
}
end
@ -51,6 +54,7 @@ module Kombo
:'city' => :'String',
:'country' => :'String',
:'state' => :'String',
:'street_1' => :'String',
:'zip_code' => :'String'
}
end
@ -91,6 +95,10 @@ module Kombo
self.state = attributes[:'state']
end
if attributes.key?(:'street_1')
self.street_1 = attributes[:'street_1']
end
if attributes.key?(:'zip_code')
self.zip_code = attributes[:'zip_code']
end
@ -145,6 +153,7 @@ module Kombo
city == o.city &&
country == o.country &&
state == o.state &&
street_1 == o.street_1 &&
zip_code == o.zip_code
end
@ -157,7 +166,7 @@ module Kombo
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[city, country, state, zip_code].hash
[city, country, state, street_1, zip_code].hash
end
# Builds the object from hash

View file

@ -56,6 +56,8 @@ module Kombo
attr_accessor :piloga
attr_accessor :pinpoint
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
@ -78,7 +80,8 @@ module Kombo
:'avature' => :'avature',
:'recruitee' => :'recruitee',
:'umantis' => :'umantis',
:'piloga' => :'piloga'
:'piloga' => :'piloga',
:'pinpoint' => :'pinpoint'
}
end
@ -114,7 +117,8 @@ module Kombo
:'avature' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvature',
:'recruitee' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee',
:'umantis' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis',
:'piloga' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga'
:'piloga' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga',
:'pinpoint' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfPinpoint'
}
end
@ -219,6 +223,10 @@ module Kombo
if attributes.key?(:'piloga')
self.piloga = attributes[:'piloga']
end
if attributes.key?(:'pinpoint')
self.pinpoint = attributes[:'pinpoint']
end
end
# Show invalid properties with the reasons. Usually used together with valid?
@ -260,7 +268,8 @@ module Kombo
avature == o.avature &&
recruitee == o.recruitee &&
umantis == o.umantis &&
piloga == o.piloga
piloga == o.piloga &&
pinpoint == o.pinpoint
end
# @see the `==` method
@ -272,7 +281,7 @@ module Kombo
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[successfactors, personio, talentsoft, teamtailor, greenhouse, lever, workable, workday, zohorecruit, bullhorn, smartrecruiters, talentadore, guidecom, dvinci, hrworks, jobylon, avature, recruitee, umantis, piloga].hash
[successfactors, personio, talentsoft, teamtailor, greenhouse, lever, workable, workday, zohorecruit, bullhorn, smartrecruiters, talentadore, guidecom, dvinci, hrworks, jobylon, avature, recruitee, umantis, piloga, pinpoint].hash
end
# Builds the object from hash

View file

@ -0,0 +1,151 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
# Fields specific to Pinpoint.
class PostAtsCandidatesRequestBodyRemoteFieldsAllOfPinpoint < ApiModelBase
# Fields that we will pass through to Pinpoint's `Candidate` object.
attr_accessor :candidate
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'candidate' => :'candidate'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'candidate' => :'Hash<String, Object>'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPinpoint` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPinpoint`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'candidate')
if (value = attributes[:'candidate']).is_a?(Hash)
self.candidate = value
end
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
true
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
candidate == o.candidate
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[candidate].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -232,9 +232,9 @@ module Kombo
return false if @end_user_organization_name.nil?
return false if @end_user_organization_name.to_s.length < 1
return false if !@end_user_origin_id.nil? && @end_user_origin_id.to_s.length < 1
integration_category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"])
integration_category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT", "LMS"])
return false unless integration_category_validator.valid?(@integration_category)
integration_tool_validator = EnumAttributeValidator.new('String', ["personio", "workday", "workdaycustomreport", "workdaycustomreportsftp", "successfactors", "smartrecruiters", "factorial", "oraclerecruiting", "lever", "icims", "cornerstonetalentlink", "recruitee", "recruiterflow", "greenhouse", "greenhousejobboard", "teamtailor", "teamtailorjobboards", "ashby", "talentsoft", "talentsoftcustomer", "concludis", "talention", "piloga", "onlyfy", "ukgpro", "ukgready", "adpworkforcenow", "taleo", "rexx", "afas", "bamboohr", "bullhorn", "bullhornlogin", "workable", "payfitcustomer", "payfitpartner", "payfit", "jobvite", "employmenthero", "fountain", "fourth", "kenjo", "heavenhr", "hibob", "softgarden", "cezannehr", "entraid", "azuread", "googleworkspace", "nmbrs", "pinpoint", "welcometothejungle", "dvinci", "dvinciadmin", "join", "deel", "remotecom", "iriscascade", "okta", "sagehr", "sagepeople", "humaans", "traffit", "erecruiter", "eurecia", "abacusumantis", "umantis", "jobylon", "oraclehcm", "taleez", "officient", "sesamehr", "charliehr", "hrworks", "abacus", "otys", "zohopeople", "zohorecruit", "gusto", "breathehr", "catalystone", "mirus", "alexishr", "simployer", "eploy", "jobdiva", "peple", "youserve", "careerplug", "perview", "eightfold", "dayforce", "hansalog", "lattice", "trinet", "paylocity", "paycor", "namely", "paycom", "insperity", "paychex", "avature", "apploi", "phenom", "rippling", "sapling", "heyrecruit", "peoplehr", "recruhr", "jazzhr", "lucca", "bite", "zelt", "planday", "boondmanager", "homerun", "haileyhr", "silae", "mysolution", "carerix", "hroffice", "talentclue", "inrecruiting", "ubeeo", "oysterhr", "kiwihr", "connexys", "hr4you", "cornerstoneondemand", "zvooverecruit", "square", "perbilityhelix", "comeet", "leapsome", "compleet", "compleetpitcher", "gem", "loket", "workforcecom", "laura", "covetorest", "coveto", "peoplefirst", "sdworx", "crelate", "absenceio", "manatal", "avionte", "a3innuvanomina", "mhmhr", "scim", "softgardenpartner", "datevhr", "datev", "datevlug", "sympa", "breezyhr", "flatchr", "applicantstack", "reachmee", "talentadore", "youforce", "nibelis", "peoplexd", "sandbox", "guidecom", "sftp", "sftpfetch"])
integration_tool_validator = EnumAttributeValidator.new('String', ["personio", "workday", "workdaycustomreport", "workdaycustomreportsftp", "successfactors", "smartrecruiters", "factorial", "oraclerecruiting", "lever", "icims", "cornerstonetalentlink", "recruitee", "recruiterflow", "greenhouse", "greenhousejobboard", "teamtailor", "teamtailorjobboards", "ashby", "talentsoft", "talentsoftcustomer", "concludis", "talention", "piloga", "onlyfy", "ukgpro", "ukgready", "adpworkforcenow", "taleo", "rexx", "afas", "bamboohr", "bullhorn", "bullhornlogin", "workable", "payfitcustomer", "payfitpartner", "payfit", "jobvite", "employmenthero", "fountain", "fourth", "kenjo", "heavenhr", "hibob", "softgarden", "cezannehr", "entraid", "azuread", "googleworkspace", "nmbrs", "pinpoint", "welcometothejungle", "dvinci", "dvinciadmin", "join", "deel", "remotecom", "iriscascade", "okta", "sagehr", "sagepeople", "humaans", "traffit", "erecruiter", "eurecia", "abacusumantis", "umantis", "jobylon", "oraclehcm", "taleez", "officient", "sesamehr", "charliehr", "hrworks", "abacus", "otys", "zohopeople", "zohorecruit", "gusto", "breathehr", "catalystone", "mirus", "alexishr", "simployer", "eploy", "jobdiva", "peple", "youserve", "careerplug", "perview", "eightfold", "dayforce", "hansalog", "lattice", "hoorayhr", "trinet", "paylocity", "paycor", "namely", "paycom", "insperity", "paychex", "avature", "apploi", "phenom", "paradox", "rippling", "sapling", "heyrecruit", "peoplehr", "recruhr", "jazzhr", "lucca", "bite", "zelt", "planday", "boondmanager", "homerun", "haileyhr", "silae", "mysolution", "carerix", "hroffice", "talentclue", "inrecruiting", "ubeeo", "oysterhr", "kiwihr", "connexys", "hr4you", "cornerstoneondemand", "zvooverecruit", "square", "perbilityhelix", "comeet", "leapsome", "compleet", "compleetpitcher", "gem", "loket", "workforcecom", "laura", "covetorest", "coveto", "peoplefirst", "sdworx", "itrent", "crelate", "absenceio", "manatal", "avionte", "a3innuvanomina", "mhmhr", "asymbl", "scim", "softgardenpartner", "datevhr", "datev", "datevlug", "sympa", "breezyhr", "flatchr", "applicantstack", "reachmee", "talentadore", "youforce", "nibelis", "peoplexd", "sandbox", "guidecom", "sftp", "sftpfetch"])
return false unless integration_tool_validator.valid?(@integration_tool)
language_validator = EnumAttributeValidator.new('String', ["en", "de", "fr", "it", "es"])
return false unless language_validator.valid?(@language)
@ -280,7 +280,7 @@ module Kombo
# Custom attribute writer method checking allowed values (enum).
# @param [Object] integration_category Object to be assigned
def integration_category=(integration_category)
validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"])
validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT", "LMS"])
unless validator.valid?(integration_category)
fail ArgumentError, "invalid value for \"integration_category\", must be one of #{validator.allowable_values}."
end
@ -290,7 +290,7 @@ module Kombo
# Custom attribute writer method checking allowed values (enum).
# @param [Object] integration_tool Object to be assigned
def integration_tool=(integration_tool)
validator = EnumAttributeValidator.new('String', ["personio", "workday", "workdaycustomreport", "workdaycustomreportsftp", "successfactors", "smartrecruiters", "factorial", "oraclerecruiting", "lever", "icims", "cornerstonetalentlink", "recruitee", "recruiterflow", "greenhouse", "greenhousejobboard", "teamtailor", "teamtailorjobboards", "ashby", "talentsoft", "talentsoftcustomer", "concludis", "talention", "piloga", "onlyfy", "ukgpro", "ukgready", "adpworkforcenow", "taleo", "rexx", "afas", "bamboohr", "bullhorn", "bullhornlogin", "workable", "payfitcustomer", "payfitpartner", "payfit", "jobvite", "employmenthero", "fountain", "fourth", "kenjo", "heavenhr", "hibob", "softgarden", "cezannehr", "entraid", "azuread", "googleworkspace", "nmbrs", "pinpoint", "welcometothejungle", "dvinci", "dvinciadmin", "join", "deel", "remotecom", "iriscascade", "okta", "sagehr", "sagepeople", "humaans", "traffit", "erecruiter", "eurecia", "abacusumantis", "umantis", "jobylon", "oraclehcm", "taleez", "officient", "sesamehr", "charliehr", "hrworks", "abacus", "otys", "zohopeople", "zohorecruit", "gusto", "breathehr", "catalystone", "mirus", "alexishr", "simployer", "eploy", "jobdiva", "peple", "youserve", "careerplug", "perview", "eightfold", "dayforce", "hansalog", "lattice", "trinet", "paylocity", "paycor", "namely", "paycom", "insperity", "paychex", "avature", "apploi", "phenom", "rippling", "sapling", "heyrecruit", "peoplehr", "recruhr", "jazzhr", "lucca", "bite", "zelt", "planday", "boondmanager", "homerun", "haileyhr", "silae", "mysolution", "carerix", "hroffice", "talentclue", "inrecruiting", "ubeeo", "oysterhr", "kiwihr", "connexys", "hr4you", "cornerstoneondemand", "zvooverecruit", "square", "perbilityhelix", "comeet", "leapsome", "compleet", "compleetpitcher", "gem", "loket", "workforcecom", "laura", "covetorest", "coveto", "peoplefirst", "sdworx", "crelate", "absenceio", "manatal", "avionte", "a3innuvanomina", "mhmhr", "scim", "softgardenpartner", "datevhr", "datev", "datevlug", "sympa", "breezyhr", "flatchr", "applicantstack", "reachmee", "talentadore", "youforce", "nibelis", "peoplexd", "sandbox", "guidecom", "sftp", "sftpfetch"])
validator = EnumAttributeValidator.new('String', ["personio", "workday", "workdaycustomreport", "workdaycustomreportsftp", "successfactors", "smartrecruiters", "factorial", "oraclerecruiting", "lever", "icims", "cornerstonetalentlink", "recruitee", "recruiterflow", "greenhouse", "greenhousejobboard", "teamtailor", "teamtailorjobboards", "ashby", "talentsoft", "talentsoftcustomer", "concludis", "talention", "piloga", "onlyfy", "ukgpro", "ukgready", "adpworkforcenow", "taleo", "rexx", "afas", "bamboohr", "bullhorn", "bullhornlogin", "workable", "payfitcustomer", "payfitpartner", "payfit", "jobvite", "employmenthero", "fountain", "fourth", "kenjo", "heavenhr", "hibob", "softgarden", "cezannehr", "entraid", "azuread", "googleworkspace", "nmbrs", "pinpoint", "welcometothejungle", "dvinci", "dvinciadmin", "join", "deel", "remotecom", "iriscascade", "okta", "sagehr", "sagepeople", "humaans", "traffit", "erecruiter", "eurecia", "abacusumantis", "umantis", "jobylon", "oraclehcm", "taleez", "officient", "sesamehr", "charliehr", "hrworks", "abacus", "otys", "zohopeople", "zohorecruit", "gusto", "breathehr", "catalystone", "mirus", "alexishr", "simployer", "eploy", "jobdiva", "peple", "youserve", "careerplug", "perview", "eightfold", "dayforce", "hansalog", "lattice", "hoorayhr", "trinet", "paylocity", "paycor", "namely", "paycom", "insperity", "paychex", "avature", "apploi", "phenom", "paradox", "rippling", "sapling", "heyrecruit", "peoplehr", "recruhr", "jazzhr", "lucca", "bite", "zelt", "planday", "boondmanager", "homerun", "haileyhr", "silae", "mysolution", "carerix", "hroffice", "talentclue", "inrecruiting", "ubeeo", "oysterhr", "kiwihr", "connexys", "hr4you", "cornerstoneondemand", "zvooverecruit", "square", "perbilityhelix", "comeet", "leapsome", "compleet", "compleetpitcher", "gem", "loket", "workforcecom", "laura", "covetorest", "coveto", "peoplefirst", "sdworx", "itrent", "crelate", "absenceio", "manatal", "avionte", "a3innuvanomina", "mhmhr", "asymbl", "scim", "softgardenpartner", "datevhr", "datev", "datevlug", "sympa", "breezyhr", "flatchr", "applicantstack", "reachmee", "talentadore", "youforce", "nibelis", "peoplexd", "sandbox", "guidecom", "sftp", "sftpfetch"])
unless validator.valid?(integration_tool)
fail ArgumentError, "invalid value for \"integration_tool\", must be one of #{validator.allowable_values}."
end

View file

@ -18,18 +18,17 @@ module Kombo
# The Kombo id of the created employee. If null, we only created a pre-hire which shows up in the next sync after a successful onboarding.
attr_accessor :id
# The raw ID of the created employee in the remote system. This is only populated when `id` is set (i.e., when a full employee was created). For pre-hires, use `prehire_id` instead.
# The raw ID of the created employee in the remote system. This is only populated when `id` is set (i.e., when a full employee was created). For pre-hires, use the `prehire` object instead.
attr_accessor :remote_id
# The temporary ID returned by the remote system when creating a pre-hire. This ID may change or become invalid when the pre-hire becomes a full employee. Only populated when `id` is null.
attr_accessor :prehire_id
attr_accessor :prehire
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'id' => :'id',
:'remote_id' => :'remote_id',
:'prehire_id' => :'prehire_id'
:'prehire' => :'prehire'
}
end
@ -48,7 +47,7 @@ module Kombo
{
:'id' => :'String',
:'remote_id' => :'String',
:'prehire_id' => :'String'
:'prehire' => :'PostHrisEmployeesFormPositiveResponseDataPrehire'
}
end
@ -57,7 +56,6 @@ module Kombo
Set.new([
:'id',
:'remote_id',
:'prehire_id'
])
end
@ -89,10 +87,10 @@ module Kombo
self.remote_id = nil
end
if attributes.key?(:'prehire_id')
self.prehire_id = attributes[:'prehire_id']
if attributes.key?(:'prehire')
self.prehire = attributes[:'prehire']
else
self.prehire_id = nil
self.prehire = nil
end
end
@ -101,6 +99,10 @@ module Kombo
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @prehire.nil?
invalid_properties.push('invalid value for "prehire", prehire cannot be nil.')
end
invalid_properties
end
@ -108,9 +110,20 @@ module Kombo
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @prehire.nil?
true
end
# Custom attribute writer method with validation
# @param [Object] prehire Value to be assigned
def prehire=(prehire)
if prehire.nil?
fail ArgumentError, 'prehire cannot be nil'
end
@prehire = prehire
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
@ -118,7 +131,7 @@ module Kombo
self.class == o.class &&
id == o.id &&
remote_id == o.remote_id &&
prehire_id == o.prehire_id
prehire == o.prehire
end
# @see the `==` method
@ -130,7 +143,7 @@ module Kombo
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[id, remote_id, prehire_id].hash
[id, remote_id, prehire].hash
end
# Builds the object from hash

View file

@ -0,0 +1,152 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
# An object containing the temporary pre-hire information from the remote system. This ID may change or become invalid when the pre-hire becomes a full employee. Only populated when `id` is null.
class PostHrisEmployeesFormPositiveResponseDataPrehire < ApiModelBase
# The temporary ID returned by the remote system when creating a pre-hire.
attr_accessor :remote_id
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'remote_id' => :'remote_id'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'remote_id' => :'String'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
:'remote_id'
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesFormPositiveResponseDataPrehire` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesFormPositiveResponseDataPrehire`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'remote_id')
self.remote_id = attributes[:'remote_id']
else
self.remote_id = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
true
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
remote_id == o.remote_id
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[remote_id].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -0,0 +1,243 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class PostLmsCourseProgressionsCourseProgressionIdCompletePositiveResponse < ApiModelBase
attr_accessor :status
attr_accessor :data
# These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console.
attr_accessor :warnings
class EnumAttributeValidator
attr_reader :datatype
attr_reader :allowable_values
def initialize(datatype, allowable_values)
@allowable_values = allowable_values.map do |value|
case datatype.to_s
when /Integer/i
value.to_i
when /Float/i
value.to_f
else
value
end
end
end
def valid?(value)
!value || allowable_values.include?(value)
end
end
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'status' => :'status',
:'data' => :'data',
:'warnings' => :'warnings'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'status' => :'String',
:'data' => :'GetLmsCourseProgressionsPositiveResponseDataResultsInner',
:'warnings' => :'Array<PostPassthroughToolApiPositiveResponseWarningsInner>'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostLmsCourseProgressionsCourseProgressionIdCompletePositiveResponse` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostLmsCourseProgressionsCourseProgressionIdCompletePositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'status')
self.status = attributes[:'status']
else
self.status = nil
end
if attributes.key?(:'data')
self.data = attributes[:'data']
else
self.data = nil
end
if attributes.key?(:'warnings')
if (value = attributes[:'warnings']).is_a?(Array)
self.warnings = value
end
else
self.warnings = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @status.nil?
invalid_properties.push('invalid value for "status", status cannot be nil.')
end
if @data.nil?
invalid_properties.push('invalid value for "data", data cannot be nil.')
end
if @warnings.nil?
invalid_properties.push('invalid value for "warnings", warnings cannot be nil.')
end
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @status.nil?
status_validator = EnumAttributeValidator.new('String', ["success"])
return false unless status_validator.valid?(@status)
return false if @data.nil?
return false if @warnings.nil?
true
end
# Custom attribute writer method checking allowed values (enum).
# @param [Object] status Object to be assigned
def status=(status)
validator = EnumAttributeValidator.new('String', ["success"])
unless validator.valid?(status)
fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
end
@status = status
end
# Custom attribute writer method with validation
# @param [Object] data Value to be assigned
def data=(data)
if data.nil?
fail ArgumentError, 'data cannot be nil'
end
@data = data
end
# Custom attribute writer method with validation
# @param [Object] warnings Value to be assigned
def warnings=(warnings)
if warnings.nil?
fail ArgumentError, 'warnings cannot be nil'
end
@warnings = warnings
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
status == o.status &&
data == o.data &&
warnings == o.warnings
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[status, data, warnings].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -0,0 +1,166 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class PostLmsCourseProgressionsCourseProgressionIdCompleteRequestBody < ApiModelBase
# Date when the user completed the course revision. Defaults to the current date if not provided.
attr_accessor :completed_at
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'completed_at' => :'completed_at'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'completed_at' => :'Time'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
:'completed_at'
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostLmsCourseProgressionsCourseProgressionIdCompleteRequestBody` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostLmsCourseProgressionsCourseProgressionIdCompleteRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'completed_at')
self.completed_at = attributes[:'completed_at']
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/)
if !@completed_at.nil? && @completed_at !~ pattern
invalid_properties.push("invalid value for \"completed_at\", must conform to the pattern #{pattern}.")
end
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if !@completed_at.nil? && @completed_at !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/)
true
end
# Custom attribute writer method with validation
# @param [Object] completed_at Value to be assigned
def completed_at=(completed_at)
pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/)
if !completed_at.nil? && completed_at !~ pattern
fail ArgumentError, "invalid value for \"completed_at\", must conform to the pattern #{pattern}."
end
@completed_at = completed_at
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
completed_at == o.completed_at
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[completed_at].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -0,0 +1,243 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class PostLmsCourseProgressionsPositiveResponse < ApiModelBase
attr_accessor :status
attr_accessor :data
# These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console.
attr_accessor :warnings
class EnumAttributeValidator
attr_reader :datatype
attr_reader :allowable_values
def initialize(datatype, allowable_values)
@allowable_values = allowable_values.map do |value|
case datatype.to_s
when /Integer/i
value.to_i
when /Float/i
value.to_f
else
value
end
end
end
def valid?(value)
!value || allowable_values.include?(value)
end
end
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'status' => :'status',
:'data' => :'data',
:'warnings' => :'warnings'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'status' => :'String',
:'data' => :'GetLmsCourseProgressionsPositiveResponseDataResultsInner',
:'warnings' => :'Array<PostPassthroughToolApiPositiveResponseWarningsInner>'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostLmsCourseProgressionsPositiveResponse` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostLmsCourseProgressionsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'status')
self.status = attributes[:'status']
else
self.status = nil
end
if attributes.key?(:'data')
self.data = attributes[:'data']
else
self.data = nil
end
if attributes.key?(:'warnings')
if (value = attributes[:'warnings']).is_a?(Array)
self.warnings = value
end
else
self.warnings = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @status.nil?
invalid_properties.push('invalid value for "status", status cannot be nil.')
end
if @data.nil?
invalid_properties.push('invalid value for "data", data cannot be nil.')
end
if @warnings.nil?
invalid_properties.push('invalid value for "warnings", warnings cannot be nil.')
end
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @status.nil?
status_validator = EnumAttributeValidator.new('String', ["success"])
return false unless status_validator.valid?(@status)
return false if @data.nil?
return false if @warnings.nil?
true
end
# Custom attribute writer method checking allowed values (enum).
# @param [Object] status Object to be assigned
def status=(status)
validator = EnumAttributeValidator.new('String', ["success"])
unless validator.valid?(status)
fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
end
@status = status
end
# Custom attribute writer method with validation
# @param [Object] data Value to be assigned
def data=(data)
if data.nil?
fail ArgumentError, 'data cannot be nil'
end
@data = data
end
# Custom attribute writer method with validation
# @param [Object] warnings Value to be assigned
def warnings=(warnings)
if warnings.nil?
fail ArgumentError, 'warnings cannot be nil'
end
@warnings = warnings
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
status == o.status &&
data == o.data &&
warnings == o.warnings
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[status, data, warnings].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -0,0 +1,192 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class PostLmsCourseProgressionsRequestBody < ApiModelBase
# The ID of the user in Kombo or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`)
attr_accessor :user_id
# The ID of the revision in Kombo or its ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`)
attr_accessor :course_revision_id
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'user_id' => :'user_id',
:'course_revision_id' => :'course_revision_id'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'user_id' => :'String',
:'course_revision_id' => :'String'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostLmsCourseProgressionsRequestBody` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostLmsCourseProgressionsRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'user_id')
self.user_id = attributes[:'user_id']
else
self.user_id = nil
end
if attributes.key?(:'course_revision_id')
self.course_revision_id = attributes[:'course_revision_id']
else
self.course_revision_id = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @user_id.nil?
invalid_properties.push('invalid value for "user_id", user_id cannot be nil.')
end
if @course_revision_id.nil?
invalid_properties.push('invalid value for "course_revision_id", course_revision_id cannot be nil.')
end
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @user_id.nil?
return false if @course_revision_id.nil?
true
end
# Custom attribute writer method with validation
# @param [Object] user_id Value to be assigned
def user_id=(user_id)
if user_id.nil?
fail ArgumentError, 'user_id cannot be nil'
end
@user_id = user_id
end
# Custom attribute writer method with validation
# @param [Object] course_revision_id Value to be assigned
def course_revision_id=(course_revision_id)
if course_revision_id.nil?
fail ArgumentError, 'course_revision_id cannot be nil'
end
@course_revision_id = course_revision_id
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
user_id == o.user_id &&
course_revision_id == o.course_revision_id
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[user_id, course_revision_id].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

View file

@ -19,6 +19,9 @@ module Kombo
attr_accessor :data
# These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console.
attr_accessor :warnings
class EnumAttributeValidator
attr_reader :datatype
attr_reader :allowable_values
@ -45,7 +48,8 @@ module Kombo
def self.attribute_map
{
:'status' => :'status',
:'data' => :'data'
:'data' => :'data',
:'warnings' => :'warnings'
}
end
@ -63,7 +67,8 @@ module Kombo
def self.openapi_types
{
:'status' => :'String',
:'data' => :'GetLmsCoursesPositiveResponseDataResultsInner'
:'data' => :'GetLmsCoursesPositiveResponseDataResultsInner',
:'warnings' => :'Array<PostPassthroughToolApiPositiveResponseWarningsInner>'
}
end
@ -100,6 +105,14 @@ module Kombo
else
self.data = nil
end
if attributes.key?(:'warnings')
if (value = attributes[:'warnings']).is_a?(Array)
self.warnings = value
end
else
self.warnings = nil
end
end
# Show invalid properties with the reasons. Usually used together with valid?
@ -115,6 +128,10 @@ module Kombo
invalid_properties.push('invalid value for "data", data cannot be nil.')
end
if @warnings.nil?
invalid_properties.push('invalid value for "warnings", warnings cannot be nil.')
end
invalid_properties
end
@ -126,6 +143,7 @@ module Kombo
status_validator = EnumAttributeValidator.new('String', ["success"])
return false unless status_validator.valid?(@status)
return false if @data.nil?
return false if @warnings.nil?
true
end
@ -149,13 +167,24 @@ module Kombo
@data = data
end
# Custom attribute writer method with validation
# @param [Object] warnings Value to be assigned
def warnings=(warnings)
if warnings.nil?
fail ArgumentError, 'warnings cannot be nil'
end
@warnings = warnings
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
status == o.status &&
data == o.data
data == o.data &&
warnings == o.warnings
end
# @see the `==` method
@ -167,7 +196,7 @@ module Kombo
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[status, data].hash
[status, data, warnings].hash
end
# Builds the object from hash

View file

@ -15,25 +15,12 @@ require 'time'
module Kombo
class PostLmsCoursesRequestBody < ApiModelBase
# The title of the course
attr_accessor :title
# A description of the course
attr_accessor :description
# URL where the course can be accessed
attr_accessor :url
# Skills that will be taught in this course
attr_accessor :skills
attr_accessor :course
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'title' => :'title',
:'description' => :'description',
:'url' => :'url',
:'skills' => :'skills'
:'course' => :'course'
}
end
@ -50,18 +37,13 @@ module Kombo
# Attribute type mapping.
def self.openapi_types
{
:'title' => :'String',
:'description' => :'String',
:'url' => :'String',
:'skills' => :'Array<PostLmsCoursesRequestBodySkillsInner>'
:'course' => :'PostLmsCoursesRequestBodyCourse'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
:'description',
:'url',
])
end
@ -81,24 +63,10 @@ module Kombo
h[k.to_sym] = v
}
if attributes.key?(:'title')
self.title = attributes[:'title']
if attributes.key?(:'course')
self.course = attributes[:'course']
else
self.title = nil
end
if attributes.key?(:'description')
self.description = attributes[:'description']
end
if attributes.key?(:'url')
self.url = attributes[:'url']
end
if attributes.key?(:'skills')
if (value = attributes[:'skills']).is_a?(Array)
self.skills = value
end
self.course = nil
end
end
@ -107,8 +75,8 @@ module Kombo
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @title.nil?
invalid_properties.push('invalid value for "title", title cannot be nil.')
if @course.nil?
invalid_properties.push('invalid value for "course", course cannot be nil.')
end
invalid_properties
@ -118,18 +86,18 @@ module Kombo
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @title.nil?
return false if @course.nil?
true
end
# Custom attribute writer method with validation
# @param [Object] title Value to be assigned
def title=(title)
if title.nil?
fail ArgumentError, 'title cannot be nil'
# @param [Object] course Value to be assigned
def course=(course)
if course.nil?
fail ArgumentError, 'course cannot be nil'
end
@title = title
@course = course
end
# Checks equality by comparing each attribute.
@ -137,10 +105,7 @@ module Kombo
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
title == o.title &&
description == o.description &&
url == o.url &&
skills == o.skills
course == o.course
end
# @see the `==` method
@ -152,7 +117,7 @@ module Kombo
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[title, description, url, skills].hash
[course].hash
end
# Builds the object from hash

View file

@ -0,0 +1,265 @@
=begin
#Kombo API
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.0.0
Generated by: https://openapi-generator.tech
Generator version: 7.17.0
=end
require 'date'
require 'time'
module Kombo
class PostLmsCoursesRequestBodyCourse < ApiModelBase
# `EXTERNAL` indicates that the content is not sent to the LMS, but the `course_url` links to the content in your system.
attr_accessor :type
# The title of the course revision.
attr_accessor :title
# A description of the course revision.
attr_accessor :description
# URL to the course page. For content providers, this should be a deeplink into your product that allows users to access the course directly.
attr_accessor :course_url
# URL to the thumbnail image for the course.
attr_accessor :thumbnail_url
class EnumAttributeValidator
attr_reader :datatype
attr_reader :allowable_values
def initialize(datatype, allowable_values)
@allowable_values = allowable_values.map do |value|
case datatype.to_s
when /Integer/i
value.to_i
when /Float/i
value.to_f
else
value
end
end
end
def valid?(value)
!value || allowable_values.include?(value)
end
end
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'type' => :'type',
:'title' => :'title',
:'description' => :'description',
:'course_url' => :'course_url',
:'thumbnail_url' => :'thumbnail_url'
}
end
# Returns attribute mapping this model knows about
def self.acceptable_attribute_map
attribute_map
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
acceptable_attribute_map.values
end
# Attribute type mapping.
def self.openapi_types
{
:'type' => :'String',
:'title' => :'String',
:'description' => :'String',
:'course_url' => :'String',
:'thumbnail_url' => :'String'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
:'description',
:'thumbnail_url'
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostLmsCoursesRequestBodyCourse` initialize method"
end
# check to see if the attribute exists and convert string to symbol for hash key
acceptable_attribute_map = self.class.acceptable_attribute_map
attributes = attributes.each_with_object({}) { |(k, v), h|
if (!acceptable_attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostLmsCoursesRequestBodyCourse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
end
h[k.to_sym] = v
}
if attributes.key?(:'type')
self.type = attributes[:'type']
else
self.type = nil
end
if attributes.key?(:'title')
self.title = attributes[:'title']
else
self.title = nil
end
if attributes.key?(:'description')
self.description = attributes[:'description']
end
if attributes.key?(:'course_url')
self.course_url = attributes[:'course_url']
else
self.course_url = nil
end
if attributes.key?(:'thumbnail_url')
self.thumbnail_url = attributes[:'thumbnail_url']
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if @type.nil?
invalid_properties.push('invalid value for "type", type cannot be nil.')
end
if @title.nil?
invalid_properties.push('invalid value for "title", title cannot be nil.')
end
if @course_url.nil?
invalid_properties.push('invalid value for "course_url", course_url cannot be nil.')
end
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
warn '[DEPRECATED] the `valid?` method is obsolete'
return false if @type.nil?
type_validator = EnumAttributeValidator.new('String', ["EXTERNAL"])
return false unless type_validator.valid?(@type)
return false if @title.nil?
return false if @course_url.nil?
true
end
# Custom attribute writer method checking allowed values (enum).
# @param [Object] type Object to be assigned
def type=(type)
validator = EnumAttributeValidator.new('String', ["EXTERNAL"])
unless validator.valid?(type)
fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
end
@type = type
end
# Custom attribute writer method with validation
# @param [Object] title Value to be assigned
def title=(title)
if title.nil?
fail ArgumentError, 'title cannot be nil'
end
@title = title
end
# Custom attribute writer method with validation
# @param [Object] course_url Value to be assigned
def course_url=(course_url)
if course_url.nil?
fail ArgumentError, 'course_url cannot be nil'
end
@course_url = course_url
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
type == o.type &&
title == o.title &&
description == o.description &&
course_url == o.course_url &&
thumbnail_url == o.thumbnail_url
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
[type, title, description, course_url, thumbnail_url].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
attributes = attributes.transform_keys(&:to_sym)
transformed_hash = {}
openapi_types.each_pair do |key, type|
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = nil
elsif type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the attribute
# is documented as an array but the input is not
if attributes[attribute_map[key]].is_a?(Array)
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
end
elsif !attributes[attribute_map[key]].nil?
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
new(transformed_hash)
end
# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
if value.nil?
is_nullable = self.class.openapi_nullable.include?(attr)
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
end
hash[param] = _to_hash(value)
end
hash
end
end
end

Some files were not shown because too many files have changed in this diff Show more