stackone_client 0.25.0 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stack_one/ats.rb +786 -239
  3. data/lib/stack_one/hris.rb +2634 -446
  4. data/lib/stack_one/models/operations/ats_get_application_document_category_request.rb +49 -0
  5. data/lib/stack_one/models/operations/ats_get_application_document_category_response.rb +49 -0
  6. data/lib/stack_one/models/operations/ats_list_application_document_categories_queryparam_filter.rb +33 -0
  7. data/lib/stack_one/models/operations/ats_list_application_document_categories_request.rb +69 -0
  8. data/lib/stack_one/models/operations/ats_list_application_document_categories_response.rb +49 -0
  9. data/lib/stack_one/models/operations/hris_get_company_group_request.rb +49 -0
  10. data/lib/stack_one/models/operations/hris_get_company_group_response.rb +49 -0
  11. data/lib/stack_one/models/operations/hris_get_division_group_request.rb +49 -0
  12. data/lib/stack_one/models/operations/hris_get_division_group_response.rb +49 -0
  13. data/lib/stack_one/models/operations/hris_get_shift_request.rb +49 -0
  14. data/lib/stack_one/models/operations/hris_get_shift_response.rb +49 -0
  15. data/lib/stack_one/models/operations/hris_get_task_request.rb +53 -0
  16. data/lib/stack_one/models/operations/hris_get_task_response.rb +49 -0
  17. data/lib/stack_one/models/operations/hris_list_companies_groups_queryparam_filter.rb +33 -0
  18. data/lib/stack_one/models/operations/hris_list_companies_groups_request.rb +69 -0
  19. data/lib/stack_one/models/operations/hris_list_companies_groups_response.rb +49 -0
  20. data/lib/stack_one/models/operations/hris_list_division_groups_queryparam_filter.rb +33 -0
  21. data/lib/stack_one/models/operations/hris_list_division_groups_request.rb +69 -0
  22. data/lib/stack_one/models/operations/hris_list_division_groups_response.rb +49 -0
  23. data/lib/stack_one/models/operations/hris_list_shifts_queryparam_filter.rb +49 -0
  24. data/lib/stack_one/models/operations/hris_list_shifts_queryparam_status.rb +23 -0
  25. data/lib/stack_one/models/operations/hris_list_shifts_request.rb +69 -0
  26. data/lib/stack_one/models/operations/hris_list_shifts_response.rb +49 -0
  27. data/lib/stack_one/models/operations/hris_list_tasks_queryparam_filter.rb +33 -0
  28. data/lib/stack_one/models/operations/hris_list_tasks_request.rb +73 -0
  29. data/lib/stack_one/models/operations/hris_list_tasks_response.rb +49 -0
  30. data/lib/stack_one/models/operations.rb +26 -0
  31. data/lib/stack_one/models/shared/approval_status.rb +37 -0
  32. data/lib/stack_one/models/shared/data.rb +81 -0
  33. data/lib/stack_one/models/shared/hrisdivision.rb +73 -0
  34. data/lib/stack_one/models/shared/hrisdivision_4.rb +28 -0
  35. data/lib/stack_one/models/shared/hrisdivision_source_value.rb +28 -0
  36. data/lib/stack_one/models/shared/hrisdivision_type.rb +37 -0
  37. data/lib/stack_one/models/shared/hrisdivision_value.rb +26 -0
  38. data/lib/stack_one/models/shared/hrisdivisionspaginated.rb +45 -0
  39. data/lib/stack_one/models/shared/hrisdivisionsresult.rb +37 -0
  40. data/lib/stack_one/models/shared/hrisshift.rb +81 -0
  41. data/lib/stack_one/models/shared/hrisshift_4.rb +28 -0
  42. data/lib/stack_one/models/shared/hrisshift_schemas_4.rb +28 -0
  43. data/lib/stack_one/models/shared/hrisshift_schemas_source_value.rb +28 -0
  44. data/lib/stack_one/models/shared/hrisshift_schemas_value.rb +23 -0
  45. data/lib/stack_one/models/shared/hrisshift_source_value.rb +28 -0
  46. data/lib/stack_one/models/shared/hrisshift_status.rb +37 -0
  47. data/lib/stack_one/models/shared/hrisshift_value.rb +22 -0
  48. data/lib/stack_one/models/shared/hrisshiftresult.rb +37 -0
  49. data/lib/stack_one/models/shared/hrisshiftresult_4.rb +28 -0
  50. data/lib/stack_one/models/shared/hrisshiftresult_approval_status.rb +37 -0
  51. data/lib/stack_one/models/shared/hrisshiftresult_schemas_4.rb +28 -0
  52. data/lib/stack_one/models/shared/hrisshiftresult_schemas_source_value.rb +28 -0
  53. data/lib/stack_one/models/shared/hrisshiftresult_schemas_value.rb +23 -0
  54. data/lib/stack_one/models/shared/hrisshiftresult_source_value.rb +28 -0
  55. data/lib/stack_one/models/shared/hrisshiftresult_status.rb +37 -0
  56. data/lib/stack_one/models/shared/hrisshiftresult_value.rb +22 -0
  57. data/lib/stack_one/models/shared/hrisshiftspaginated.rb +41 -0
  58. data/lib/stack_one/models/shared/shiftbreak.rb +57 -0
  59. data/lib/stack_one/models/shared.rb +28 -0
  60. data/lib/stack_one/sdkconfiguration.rb +2 -2
  61. metadata +56 -2
@@ -27,6 +27,8 @@ module StackOne
27
27
  autoload :AtsGetApplicationCustomFieldDefinitionQueryParamFilter, 'stack_one/models/operations/ats_get_application_custom_field_definition_queryparam_filter.rb'
28
28
  autoload :AtsGetApplicationCustomFieldDefinitionRequest, 'stack_one/models/operations/ats_get_application_custom_field_definition_request.rb'
29
29
  autoload :AtsGetApplicationCustomFieldDefinitionResponse, 'stack_one/models/operations/ats_get_application_custom_field_definition_response.rb'
30
+ autoload :AtsGetApplicationDocumentCategoryRequest, 'stack_one/models/operations/ats_get_application_document_category_request.rb'
31
+ autoload :AtsGetApplicationDocumentCategoryResponse, 'stack_one/models/operations/ats_get_application_document_category_response.rb'
30
32
  autoload :AtsGetApplicationDocumentRequest, 'stack_one/models/operations/ats_get_application_document_request.rb'
31
33
  autoload :AtsGetApplicationDocumentResponse, 'stack_one/models/operations/ats_get_application_document_response.rb'
32
34
  autoload :AtsGetApplicationNoteRequest, 'stack_one/models/operations/ats_get_application_note_request.rb'
@@ -83,6 +85,9 @@ module StackOne
83
85
  autoload :AtsListApplicationCustomFieldDefinitionsQueryParamFilter, 'stack_one/models/operations/ats_list_application_custom_field_definitions_queryparam_filter.rb'
84
86
  autoload :AtsListApplicationCustomFieldDefinitionsRequest, 'stack_one/models/operations/ats_list_application_custom_field_definitions_request.rb'
85
87
  autoload :AtsListApplicationCustomFieldDefinitionsResponse, 'stack_one/models/operations/ats_list_application_custom_field_definitions_response.rb'
88
+ autoload :AtsListApplicationDocumentCategoriesQueryParamFilter, 'stack_one/models/operations/ats_list_application_document_categories_queryparam_filter.rb'
89
+ autoload :AtsListApplicationDocumentCategoriesRequest, 'stack_one/models/operations/ats_list_application_document_categories_request.rb'
90
+ autoload :AtsListApplicationDocumentCategoriesResponse, 'stack_one/models/operations/ats_list_application_document_categories_response.rb'
86
91
  autoload :AtsListApplicationDocumentsQueryParamFilter, 'stack_one/models/operations/ats_list_application_documents_queryparam_filter.rb'
87
92
  autoload :AtsListApplicationDocumentsRequest, 'stack_one/models/operations/ats_list_application_documents_request.rb'
88
93
  autoload :AtsListApplicationDocumentsResponse, 'stack_one/models/operations/ats_list_application_documents_response.rb'
@@ -218,12 +223,16 @@ module StackOne
218
223
  autoload :HrisDownloadEmployeeDocumentResponse, 'stack_one/models/operations/hris_download_employee_document_response.rb'
219
224
  autoload :HrisGetBenefitRequest, 'stack_one/models/operations/hris_get_benefit_request.rb'
220
225
  autoload :HrisGetBenefitResponse, 'stack_one/models/operations/hris_get_benefit_response.rb'
226
+ autoload :HrisGetCompanyGroupRequest, 'stack_one/models/operations/hris_get_company_group_request.rb'
227
+ autoload :HrisGetCompanyGroupResponse, 'stack_one/models/operations/hris_get_company_group_response.rb'
221
228
  autoload :HrisGetCompanyRequest, 'stack_one/models/operations/hris_get_company_request.rb'
222
229
  autoload :HrisGetCompanyResponse, 'stack_one/models/operations/hris_get_company_response.rb'
223
230
  autoload :HrisGetCostCenterGroupRequest, 'stack_one/models/operations/hris_get_cost_center_group_request.rb'
224
231
  autoload :HrisGetCostCenterGroupResponse, 'stack_one/models/operations/hris_get_cost_center_group_response.rb'
225
232
  autoload :HrisGetDepartmentGroupRequest, 'stack_one/models/operations/hris_get_department_group_request.rb'
226
233
  autoload :HrisGetDepartmentGroupResponse, 'stack_one/models/operations/hris_get_department_group_response.rb'
234
+ autoload :HrisGetDivisionGroupRequest, 'stack_one/models/operations/hris_get_division_group_request.rb'
235
+ autoload :HrisGetDivisionGroupResponse, 'stack_one/models/operations/hris_get_division_group_response.rb'
227
236
  autoload :HrisGetEmployeeCustomFieldDefinitionQueryParamFilter, 'stack_one/models/operations/hris_get_employee_custom_field_definition_queryparam_filter.rb'
228
237
  autoload :HrisGetEmployeeCustomFieldDefinitionRequest, 'stack_one/models/operations/hris_get_employee_custom_field_definition_request.rb'
229
238
  autoload :HrisGetEmployeeCustomFieldDefinitionResponse, 'stack_one/models/operations/hris_get_employee_custom_field_definition_response.rb'
@@ -255,6 +264,10 @@ module StackOne
255
264
  autoload :HrisGetLocationResponse, 'stack_one/models/operations/hris_get_location_response.rb'
256
265
  autoload :HrisGetPositionRequest, 'stack_one/models/operations/hris_get_position_request.rb'
257
266
  autoload :HrisGetPositionResponse, 'stack_one/models/operations/hris_get_position_response.rb'
267
+ autoload :HrisGetShiftRequest, 'stack_one/models/operations/hris_get_shift_request.rb'
268
+ autoload :HrisGetShiftResponse, 'stack_one/models/operations/hris_get_shift_response.rb'
269
+ autoload :HrisGetTaskRequest, 'stack_one/models/operations/hris_get_task_request.rb'
270
+ autoload :HrisGetTaskResponse, 'stack_one/models/operations/hris_get_task_response.rb'
258
271
  autoload :HrisGetTeamGroupRequest, 'stack_one/models/operations/hris_get_team_group_request.rb'
259
272
  autoload :HrisGetTeamGroupResponse, 'stack_one/models/operations/hris_get_team_group_response.rb'
260
273
  autoload :HrisGetTimeEntriesRequest, 'stack_one/models/operations/hris_get_time_entries_request.rb'
@@ -270,6 +283,9 @@ module StackOne
270
283
  autoload :HrisListBenefitsQueryParamFilter, 'stack_one/models/operations/hris_list_benefits_queryparam_filter.rb'
271
284
  autoload :HrisListBenefitsRequest, 'stack_one/models/operations/hris_list_benefits_request.rb'
272
285
  autoload :HrisListBenefitsResponse, 'stack_one/models/operations/hris_list_benefits_response.rb'
286
+ autoload :HrisListCompaniesGroupsQueryParamFilter, 'stack_one/models/operations/hris_list_companies_groups_queryparam_filter.rb'
287
+ autoload :HrisListCompaniesGroupsRequest, 'stack_one/models/operations/hris_list_companies_groups_request.rb'
288
+ autoload :HrisListCompaniesGroupsResponse, 'stack_one/models/operations/hris_list_companies_groups_response.rb'
273
289
  autoload :HrisListCompaniesQueryParamFilter, 'stack_one/models/operations/hris_list_companies_queryparam_filter.rb'
274
290
  autoload :HrisListCompaniesRequest, 'stack_one/models/operations/hris_list_companies_request.rb'
275
291
  autoload :HrisListCompaniesResponse, 'stack_one/models/operations/hris_list_companies_response.rb'
@@ -279,6 +295,9 @@ module StackOne
279
295
  autoload :HrisListDepartmentGroupsQueryParamFilter, 'stack_one/models/operations/hris_list_department_groups_queryparam_filter.rb'
280
296
  autoload :HrisListDepartmentGroupsRequest, 'stack_one/models/operations/hris_list_department_groups_request.rb'
281
297
  autoload :HrisListDepartmentGroupsResponse, 'stack_one/models/operations/hris_list_department_groups_response.rb'
298
+ autoload :HrisListDivisionGroupsQueryParamFilter, 'stack_one/models/operations/hris_list_division_groups_queryparam_filter.rb'
299
+ autoload :HrisListDivisionGroupsRequest, 'stack_one/models/operations/hris_list_division_groups_request.rb'
300
+ autoload :HrisListDivisionGroupsResponse, 'stack_one/models/operations/hris_list_division_groups_response.rb'
282
301
  autoload :HrisListEmployeeCategoriesQueryParamFilter, 'stack_one/models/operations/hris_list_employee_categories_queryparam_filter.rb'
283
302
  autoload :HrisListEmployeeCategoriesRequest, 'stack_one/models/operations/hris_list_employee_categories_request.rb'
284
303
  autoload :HrisListEmployeeCategoriesResponse, 'stack_one/models/operations/hris_list_employee_categories_response.rb'
@@ -327,6 +346,13 @@ module StackOne
327
346
  autoload :HrisListPositionsQueryParamFilter, 'stack_one/models/operations/hris_list_positions_queryparam_filter.rb'
328
347
  autoload :HrisListPositionsRequest, 'stack_one/models/operations/hris_list_positions_request.rb'
329
348
  autoload :HrisListPositionsResponse, 'stack_one/models/operations/hris_list_positions_response.rb'
349
+ autoload :HrisListShiftsQueryParamFilter, 'stack_one/models/operations/hris_list_shifts_queryparam_filter.rb'
350
+ autoload :HrisListShiftsQueryParamStatus, 'stack_one/models/operations/hris_list_shifts_queryparam_status.rb'
351
+ autoload :HrisListShiftsRequest, 'stack_one/models/operations/hris_list_shifts_request.rb'
352
+ autoload :HrisListShiftsResponse, 'stack_one/models/operations/hris_list_shifts_response.rb'
353
+ autoload :HrisListTasksQueryParamFilter, 'stack_one/models/operations/hris_list_tasks_queryparam_filter.rb'
354
+ autoload :HrisListTasksRequest, 'stack_one/models/operations/hris_list_tasks_request.rb'
355
+ autoload :HrisListTasksResponse, 'stack_one/models/operations/hris_list_tasks_response.rb'
330
356
  autoload :HrisListTeamGroupsQueryParamFilter, 'stack_one/models/operations/hris_list_team_groups_queryparam_filter.rb'
331
357
  autoload :HrisListTeamGroupsRequest, 'stack_one/models/operations/hris_list_team_groups_request.rb'
332
358
  autoload :HrisListTeamGroupsResponse, 'stack_one/models/operations/hris_list_team_groups_response.rb'
@@ -0,0 +1,37 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+ # The approval status of the shift
12
+ class ApprovalStatus
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :source_value, T.nilable(T.any(::String, ::Float, T::Boolean, Models::Shared::HrisShift4, T::Array[::Object])), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
18
+ # The approval status of the shift
19
+ field :value, T.nilable(Models::Shared::HrisShiftValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Models::Shared::HrisShiftValue, true) } }
20
+
21
+
22
+ sig { params(source_value: T.nilable(T.any(::String, ::Float, T::Boolean, Models::Shared::HrisShift4, T::Array[::Object])), value: T.nilable(Models::Shared::HrisShiftValue)).void }
23
+ def initialize(source_value: nil, value: nil)
24
+ @source_value = source_value
25
+ @value = value
26
+ end
27
+
28
+ def ==(other)
29
+ return false unless other.is_a? self.class
30
+ return false unless @source_value == other.source_value
31
+ return false unless @value == other.value
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,81 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+
12
+ class Data
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The approval status of the shift
17
+ field :approval_status, T.nilable(Models::Shared::HrisShiftResultApprovalStatus), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('approval_status') } }
18
+ # The total break duration for this shift in ISO 8601 duration format
19
+ field :break_duration, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('break_duration') } }
20
+ # The breaks taken during this shift
21
+ field :breaks, T.nilable(T::Array[Models::Shared::ShiftBreak]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('breaks') } }
22
+ # The company ID associated with this shift
23
+ field :company_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('company_id') } }
24
+ # The date and time the shift was created
25
+ field :created_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
26
+ # The employee ID associated with this shift
27
+ field :employee_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('employee_id') } }
28
+ # The end time of the shift
29
+ field :end_time, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('end_time'), 'decoder': Utils.datetime_from_iso_format(true) } }
30
+ # Unique identifier
31
+ field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
32
+ # The location ID where this shift takes place
33
+ field :location_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('location_id') } }
34
+ # Provider's unique identifier
35
+ field :remote_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_id') } }
36
+ # The start time of the shift
37
+ field :start_time, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('start_time'), 'decoder': Utils.datetime_from_iso_format(true) } }
38
+ # The status of the shift
39
+ field :status, T.nilable(Models::Shared::HrisShiftResultStatus), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('status') } }
40
+ # The date and time the shift was last updated
41
+ field :updated_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
42
+
43
+
44
+ sig { params(approval_status: T.nilable(Models::Shared::HrisShiftResultApprovalStatus), break_duration: T.nilable(::String), breaks: T.nilable(T::Array[Models::Shared::ShiftBreak]), company_id: T.nilable(::String), created_at: T.nilable(::DateTime), employee_id: T.nilable(::String), end_time: T.nilable(::DateTime), id: T.nilable(::String), location_id: T.nilable(::String), remote_id: T.nilable(::String), start_time: T.nilable(::DateTime), status: T.nilable(Models::Shared::HrisShiftResultStatus), updated_at: T.nilable(::DateTime)).void }
45
+ def initialize(approval_status: nil, break_duration: nil, breaks: nil, company_id: nil, created_at: nil, employee_id: nil, end_time: nil, id: nil, location_id: nil, remote_id: nil, start_time: nil, status: nil, updated_at: nil)
46
+ @approval_status = approval_status
47
+ @break_duration = break_duration
48
+ @breaks = breaks
49
+ @company_id = company_id
50
+ @created_at = created_at
51
+ @employee_id = employee_id
52
+ @end_time = end_time
53
+ @id = id
54
+ @location_id = location_id
55
+ @remote_id = remote_id
56
+ @start_time = start_time
57
+ @status = status
58
+ @updated_at = updated_at
59
+ end
60
+
61
+ def ==(other)
62
+ return false unless other.is_a? self.class
63
+ return false unless @approval_status == other.approval_status
64
+ return false unless @break_duration == other.break_duration
65
+ return false unless @breaks == other.breaks
66
+ return false unless @company_id == other.company_id
67
+ return false unless @created_at == other.created_at
68
+ return false unless @employee_id == other.employee_id
69
+ return false unless @end_time == other.end_time
70
+ return false unless @id == other.id
71
+ return false unless @location_id == other.location_id
72
+ return false unless @remote_id == other.remote_id
73
+ return false unless @start_time == other.start_time
74
+ return false unless @status == other.status
75
+ return false unless @updated_at == other.updated_at
76
+ true
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,73 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+
12
+ class HRISDivision
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The id of the company that the group belongs to
17
+ field :company_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('company_id') } }
18
+ # Unique identifier
19
+ field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
20
+ # The name of the group
21
+ field :name, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('name') } }
22
+ # The list of group owner ids of the given group
23
+ field :owner_ids, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('owner_ids') } }
24
+ # The list of parent group ids of the given group
25
+ field :parent_ids, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('parent_ids') } }
26
+ # Provider's id of the company that the group belongs to
27
+ field :remote_company_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_company_id') } }
28
+ # Provider's unique identifier
29
+ field :remote_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_id') } }
30
+ # The list of remote group owner ids of the given group
31
+ field :remote_owner_ids, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_owner_ids') } }
32
+ # Provider's list of parent group remote ids of the given group
33
+ field :remote_parent_ids, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_parent_ids') } }
34
+ # The type of the division group
35
+ field :type, T.nilable(Models::Shared::HRISDivisionType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('type') } }
36
+ # Custom Unified Fields configured in your StackOne project
37
+ field :unified_custom_fields, T.nilable(T::Hash[Symbol, ::Object]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('unified_custom_fields') } }
38
+
39
+
40
+ sig { params(company_id: T.nilable(::String), id: T.nilable(::String), name: T.nilable(::String), owner_ids: T.nilable(T::Array[::String]), parent_ids: T.nilable(T::Array[::String]), remote_company_id: T.nilable(::String), remote_id: T.nilable(::String), remote_owner_ids: T.nilable(T::Array[::String]), remote_parent_ids: T.nilable(T::Array[::String]), type: T.nilable(Models::Shared::HRISDivisionType), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object])).void }
41
+ def initialize(company_id: nil, id: nil, name: nil, owner_ids: nil, parent_ids: nil, remote_company_id: nil, remote_id: nil, remote_owner_ids: nil, remote_parent_ids: nil, type: nil, unified_custom_fields: nil)
42
+ @company_id = company_id
43
+ @id = id
44
+ @name = name
45
+ @owner_ids = owner_ids
46
+ @parent_ids = parent_ids
47
+ @remote_company_id = remote_company_id
48
+ @remote_id = remote_id
49
+ @remote_owner_ids = remote_owner_ids
50
+ @remote_parent_ids = remote_parent_ids
51
+ @type = type
52
+ @unified_custom_fields = unified_custom_fields
53
+ end
54
+
55
+ def ==(other)
56
+ return false unless other.is_a? self.class
57
+ return false unless @company_id == other.company_id
58
+ return false unless @id == other.id
59
+ return false unless @name == other.name
60
+ return false unless @owner_ids == other.owner_ids
61
+ return false unless @parent_ids == other.parent_ids
62
+ return false unless @remote_company_id == other.remote_company_id
63
+ return false unless @remote_id == other.remote_id
64
+ return false unless @remote_owner_ids == other.remote_owner_ids
65
+ return false unless @remote_parent_ids == other.remote_parent_ids
66
+ return false unless @type == other.type
67
+ return false unless @unified_custom_fields == other.unified_custom_fields
68
+ true
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,28 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+
12
+ class HRISDivision4
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+
18
+
19
+ def initialize; end
20
+
21
+ def ==(other)
22
+ return false unless other.is_a? self.class
23
+ true
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+
12
+ class HRISDivisionSourceValue
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+
18
+
19
+ def initialize; end
20
+
21
+ def ==(other)
22
+ return false unless other.is_a? self.class
23
+ true
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,37 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+ # The type of the division group
12
+ class HRISDivisionType
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :source_value, T.nilable(T.any(::String, ::Float, T::Boolean, Models::Shared::HRISDivision4, T::Array[::Object])), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
18
+
19
+ field :value, T.nilable(Models::Shared::HRISDivisionValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Models::Shared::HRISDivisionValue, true) } }
20
+
21
+
22
+ sig { params(source_value: T.nilable(T.any(::String, ::Float, T::Boolean, Models::Shared::HRISDivision4, T::Array[::Object])), value: T.nilable(Models::Shared::HRISDivisionValue)).void }
23
+ def initialize(source_value: nil, value: nil)
24
+ @source_value = source_value
25
+ @value = value
26
+ end
27
+
28
+ def ==(other)
29
+ return false unless other.is_a? self.class
30
+ return false unless @source_value == other.source_value
31
+ return false unless @value == other.value
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,26 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+
12
+ class HRISDivisionValue < T::Enum
13
+ enums do
14
+ DEPARTMENT = new('department')
15
+ COMPANY = new('company')
16
+ DIVISION = new('division')
17
+ GROUP = new('group')
18
+ PROJECT = new('project')
19
+ COST_CENTER = new('cost_center')
20
+ TEAM = new('team')
21
+ UNMAPPED_VALUE = new('unmapped_value')
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,45 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+
12
+ class HRISDivisionsPaginated
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :data, T::Array[Models::Shared::HRISDivision], { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('data') } }
18
+
19
+ field :next_, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('next') } }
20
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
21
+ field :next_page, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('next_page') } }
22
+
23
+ field :raw, T.nilable(T::Array[Models::Shared::RawResponse]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('raw') } }
24
+
25
+
26
+ sig { params(data: T::Array[Models::Shared::HRISDivision], next_: T.nilable(::String), next_page: T.nilable(::String), raw: T.nilable(T::Array[Models::Shared::RawResponse])).void }
27
+ def initialize(data: nil, next_: nil, next_page: nil, raw: nil)
28
+ @data = data
29
+ @next_ = next_
30
+ @next_page = next_page
31
+ @raw = raw
32
+ end
33
+
34
+ def ==(other)
35
+ return false unless other.is_a? self.class
36
+ return false unless @data == other.data
37
+ return false unless @next_ == other.next_
38
+ return false unless @next_page == other.next_page
39
+ return false unless @raw == other.raw
40
+ true
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,37 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+
12
+ class HRISDivisionsResult
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :data, Models::Shared::HRISDivision, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('data') } }
18
+
19
+ field :raw, T.nilable(T::Array[Models::Shared::RawResponse]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('raw') } }
20
+
21
+
22
+ sig { params(data: Models::Shared::HRISDivision, raw: T.nilable(T::Array[Models::Shared::RawResponse])).void }
23
+ def initialize(data: nil, raw: nil)
24
+ @data = data
25
+ @raw = raw
26
+ end
27
+
28
+ def ==(other)
29
+ return false unless other.is_a? self.class
30
+ return false unless @data == other.data
31
+ return false unless @raw == other.raw
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,81 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+
12
+ class HrisShift
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The approval status of the shift
17
+ field :approval_status, T.nilable(Models::Shared::ApprovalStatus), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('approval_status') } }
18
+ # The total break duration for this shift in ISO 8601 duration format
19
+ field :break_duration, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('break_duration') } }
20
+ # The breaks taken during this shift
21
+ field :breaks, T.nilable(T::Array[Models::Shared::ShiftBreak]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('breaks') } }
22
+ # The company ID associated with this shift
23
+ field :company_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('company_id') } }
24
+ # The date and time the shift was created
25
+ field :created_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
26
+ # The employee ID associated with this shift
27
+ field :employee_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('employee_id') } }
28
+ # The end time of the shift
29
+ field :end_time, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('end_time'), 'decoder': Utils.datetime_from_iso_format(true) } }
30
+ # Unique identifier
31
+ field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
32
+ # The location ID where this shift takes place
33
+ field :location_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('location_id') } }
34
+ # Provider's unique identifier
35
+ field :remote_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_id') } }
36
+ # The start time of the shift
37
+ field :start_time, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('start_time'), 'decoder': Utils.datetime_from_iso_format(true) } }
38
+ # The status of the shift
39
+ field :status, T.nilable(Models::Shared::HrisShiftStatus), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('status') } }
40
+ # The date and time the shift was last updated
41
+ field :updated_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
42
+
43
+
44
+ sig { params(approval_status: T.nilable(Models::Shared::ApprovalStatus), break_duration: T.nilable(::String), breaks: T.nilable(T::Array[Models::Shared::ShiftBreak]), company_id: T.nilable(::String), created_at: T.nilable(::DateTime), employee_id: T.nilable(::String), end_time: T.nilable(::DateTime), id: T.nilable(::String), location_id: T.nilable(::String), remote_id: T.nilable(::String), start_time: T.nilable(::DateTime), status: T.nilable(Models::Shared::HrisShiftStatus), updated_at: T.nilable(::DateTime)).void }
45
+ def initialize(approval_status: nil, break_duration: nil, breaks: nil, company_id: nil, created_at: nil, employee_id: nil, end_time: nil, id: nil, location_id: nil, remote_id: nil, start_time: nil, status: nil, updated_at: nil)
46
+ @approval_status = approval_status
47
+ @break_duration = break_duration
48
+ @breaks = breaks
49
+ @company_id = company_id
50
+ @created_at = created_at
51
+ @employee_id = employee_id
52
+ @end_time = end_time
53
+ @id = id
54
+ @location_id = location_id
55
+ @remote_id = remote_id
56
+ @start_time = start_time
57
+ @status = status
58
+ @updated_at = updated_at
59
+ end
60
+
61
+ def ==(other)
62
+ return false unless other.is_a? self.class
63
+ return false unless @approval_status == other.approval_status
64
+ return false unless @break_duration == other.break_duration
65
+ return false unless @breaks == other.breaks
66
+ return false unless @company_id == other.company_id
67
+ return false unless @created_at == other.created_at
68
+ return false unless @employee_id == other.employee_id
69
+ return false unless @end_time == other.end_time
70
+ return false unless @id == other.id
71
+ return false unless @location_id == other.location_id
72
+ return false unless @remote_id == other.remote_id
73
+ return false unless @start_time == other.start_time
74
+ return false unless @status == other.status
75
+ return false unless @updated_at == other.updated_at
76
+ true
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,28 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+
12
+ class HrisShift4
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+
18
+
19
+ def initialize; end
20
+
21
+ def ==(other)
22
+ return false unless other.is_a? self.class
23
+ true
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+
12
+ class HrisShiftSchemas4
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+
18
+
19
+ def initialize; end
20
+
21
+ def ==(other)
22
+ return false unless other.is_a? self.class
23
+ true
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+
12
+ class HrisShiftSchemasSourceValue
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+
18
+
19
+ def initialize; end
20
+
21
+ def ==(other)
22
+ return false unless other.is_a? self.class
23
+ true
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end