stackone_client 0.2.38 → 0.2.40

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 (66) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stack_one/ats.rb +98 -0
  3. data/lib/stack_one/models/operations/ats_create_job_request.rb +27 -0
  4. data/lib/stack_one/models/operations/ats_create_job_response.rb +33 -0
  5. data/lib/stack_one/models/operations/ats_update_job_request.rb +30 -0
  6. data/lib/stack_one/models/operations/ats_update_job_response.rb +33 -0
  7. data/lib/stack_one/models/operations/lms_list_completions_request.rb +2 -8
  8. data/lib/stack_one/models/operations/lms_list_user_completions_request.rb +2 -8
  9. data/lib/stack_one/models/operations/stackone_list_linked_accounts_request.rb +2 -0
  10. data/lib/stack_one/models/operations.rb +4 -0
  11. data/lib/stack_one/models/shared/atscreateapplicationrequestdto.rb +2 -2
  12. data/lib/stack_one/models/shared/atscreateapplicationrequestdto_source.rb +2 -5
  13. data/lib/stack_one/models/shared/atscreatejobrequestdto.rb +59 -0
  14. data/lib/stack_one/models/shared/atscreatejobrequestdto_value.rb +25 -0
  15. data/lib/stack_one/models/shared/atsupdateapplicationrequestdto_source.rb +2 -5
  16. data/lib/stack_one/models/shared/atsupdatejobrequestdto.rb +59 -0
  17. data/lib/stack_one/models/shared/atsupdatejobrequestdto_confidential.rb +18 -0
  18. data/lib/stack_one/models/shared/atsupdatejobrequestdto_job_status.rb +27 -0
  19. data/lib/stack_one/models/shared/atsupdatejobrequestdto_value.rb +25 -0
  20. data/lib/stack_one/models/shared/benefit_type.rb +2 -2
  21. data/lib/stack_one/models/shared/completion.rb +14 -2
  22. data/lib/stack_one/models/shared/confidential.rb +5 -14
  23. data/lib/stack_one/models/shared/createanswer.rb +30 -0
  24. data/lib/stack_one/models/shared/createanswer_type.rb +27 -0
  25. data/lib/stack_one/models/shared/createanswer_value.rb +25 -0
  26. data/lib/stack_one/models/shared/createemploymentapimodel.rb +60 -0
  27. data/lib/stack_one/models/shared/createemploymentapimodel_schemas_pay_frequency_value.rb +31 -0
  28. data/lib/stack_one/models/shared/createemploymentapimodel_schemas_pay_period_value.rb +29 -0
  29. data/lib/stack_one/models/shared/createemploymentapimodel_schemas_value.rb +33 -0
  30. data/lib/stack_one/models/shared/createemploymentapimodel_value.rb +20 -0
  31. data/lib/stack_one/models/shared/createhrisbenefit.rb +42 -0
  32. data/lib/stack_one/models/shared/createhrisbenefit_value.rb +21 -0
  33. data/lib/stack_one/models/shared/createmessage.rb +33 -0
  34. data/lib/stack_one/models/shared/createmessage_value.rb +20 -0
  35. data/lib/stack_one/models/shared/createquestionnaire.rb +27 -0
  36. data/lib/stack_one/models/shared/emailmessages.rb +2 -2
  37. data/lib/stack_one/models/shared/emailmessages_message_type.rb +27 -0
  38. data/lib/stack_one/models/shared/employee.rb +3 -3
  39. data/lib/stack_one/models/shared/employee_employment_contract_type.rb +27 -0
  40. data/lib/stack_one/models/shared/employee_employment_type.rb +27 -0
  41. data/lib/stack_one/models/shared/employment.rb +3 -3
  42. data/lib/stack_one/models/shared/employment_contract_type.rb +2 -2
  43. data/lib/stack_one/models/shared/employment_pay_frequency.rb +27 -0
  44. data/lib/stack_one/models/shared/employment_pay_period.rb +27 -0
  45. data/lib/stack_one/models/shared/employment_type.rb +3 -3
  46. data/lib/stack_one/models/shared/hrisbenefit.rb +2 -2
  47. data/lib/stack_one/models/shared/hrisbenefit_benefit_type.rb +27 -0
  48. data/lib/stack_one/models/shared/hriscreateemployeerequestdto.rb +3 -3
  49. data/lib/stack_one/models/shared/hrisdepartment_value.rb +4 -0
  50. data/lib/stack_one/models/shared/hrisdocumentsuploadrequestdto.rb +2 -2
  51. data/lib/stack_one/models/shared/hrisdocumentsuploadrequestdto_confidential.rb +27 -0
  52. data/lib/stack_one/models/shared/iammfatypeenum_value.rb +5 -0
  53. data/lib/stack_one/models/shared/job.rb +2 -2
  54. data/lib/stack_one/models/shared/job_job_status.rb +27 -0
  55. data/lib/stack_one/models/shared/job_status.rb +2 -2
  56. data/lib/stack_one/models/shared/level.rb +27 -0
  57. data/lib/stack_one/models/shared/lmsuser.rb +5 -2
  58. data/lib/stack_one/models/shared/marketingcreatetemplaterequestdto.rb +2 -2
  59. data/lib/stack_one/models/shared/message_type.rb +3 -3
  60. data/lib/stack_one/models/shared/pay_frequency.rb +2 -2
  61. data/lib/stack_one/models/shared/pay_period.rb +2 -2
  62. data/lib/stack_one/models/shared/skills.rb +5 -2
  63. data/lib/stack_one/models/shared/skills_value.rb +18 -0
  64. data/lib/stack_one/models/shared.rb +53 -24
  65. data/lib/stack_one/sdkconfiguration.rb +3 -3
  66. metadata +35 -2
@@ -17,6 +17,8 @@ module StackOne
17
17
  field :content_external_reference, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('content_external_reference') } }
18
18
  # The content ID associated with this completion
19
19
  field :content_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('content_id') } }
20
+ # The created date of the completion
21
+ field :created_at, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('created_at') } }
20
22
  # The external ID associated with this completion
21
23
  field :external_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('external_id') } }
22
24
  # The ID associated with this completion
@@ -27,24 +29,34 @@ module StackOne
27
29
  field :remote_external_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_external_id') } }
28
30
  # Provider's unique identifier
29
31
  field :remote_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_id') } }
32
+ # Provider's unique identifier of the user related to the completion
33
+ field :remote_user_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_user_id') } }
30
34
  # The result of the completion
31
35
  field :result, T.nilable(::StackOne::Shared::CompletionSchemasResult), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('result') } }
32
36
  # Custom Unified Fields configured in your StackOne project
33
37
  field :unified_custom_fields, T.nilable(T::Hash[Symbol, ::Object]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('unified_custom_fields') } }
38
+ # The updated date of the completion
39
+ field :updated_at, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_at') } }
40
+ # The user ID associated with this completion
41
+ field :user_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('user_id') } }
34
42
 
35
43
 
36
- sig { params(completed_at: T.nilable(::String), content_external_reference: T.nilable(::String), content_id: T.nilable(::String), external_id: T.nilable(::String), id: T.nilable(::String), remote_content_id: T.nilable(::String), remote_external_id: T.nilable(::String), remote_id: T.nilable(::String), result: T.nilable(::StackOne::Shared::CompletionSchemasResult), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object])).void }
37
- def initialize(completed_at: nil, content_external_reference: nil, content_id: nil, external_id: nil, id: nil, remote_content_id: nil, remote_external_id: nil, remote_id: nil, result: nil, unified_custom_fields: nil)
44
+ sig { params(completed_at: T.nilable(::String), content_external_reference: T.nilable(::String), content_id: T.nilable(::String), created_at: T.nilable(::String), external_id: T.nilable(::String), id: T.nilable(::String), remote_content_id: T.nilable(::String), remote_external_id: T.nilable(::String), remote_id: T.nilable(::String), remote_user_id: T.nilable(::String), result: T.nilable(::StackOne::Shared::CompletionSchemasResult), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::String), user_id: T.nilable(::String)).void }
45
+ def initialize(completed_at: nil, content_external_reference: nil, content_id: nil, created_at: nil, external_id: nil, id: nil, remote_content_id: nil, remote_external_id: nil, remote_id: nil, remote_user_id: nil, result: nil, unified_custom_fields: nil, updated_at: nil, user_id: nil)
38
46
  @completed_at = completed_at
39
47
  @content_external_reference = content_external_reference
40
48
  @content_id = content_id
49
+ @created_at = created_at
41
50
  @external_id = external_id
42
51
  @id = id
43
52
  @remote_content_id = remote_content_id
44
53
  @remote_external_id = remote_external_id
45
54
  @remote_id = remote_id
55
+ @remote_user_id = remote_user_id
46
56
  @result = result
47
57
  @unified_custom_fields = unified_custom_fields
58
+ @updated_at = updated_at
59
+ @user_id = user_id
48
60
  end
49
61
  end
50
62
  end
@@ -7,20 +7,11 @@
7
7
  module StackOne
8
8
  module Shared
9
9
 
10
- # The confidentiality level of the file to be uploaded
11
- class Confidential < ::StackOne::Utils::FieldAugmented
12
- extend T::Sig
13
-
14
-
15
- field :source_value, T.nilable(::Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
16
- # Whether the file is confidential or not
17
- field :value, T.nilable(::StackOne::Shared::HrisDocumentsUploadRequestDtoSchemasValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(::StackOne::Shared::HrisDocumentsUploadRequestDtoSchemasValue, true) } }
18
-
19
-
20
- sig { params(source_value: T.nilable(::Object), value: T.nilable(::StackOne::Shared::HrisDocumentsUploadRequestDtoSchemasValue)).void }
21
- def initialize(source_value: nil, value: nil)
22
- @source_value = source_value
23
- @value = value
10
+ # Confidential - Confidential status of the job
11
+ class Confidential < T::Enum
12
+ enums do
13
+ TRUE = new('true')
14
+ FALSE = new('false')
24
15
  end
25
16
  end
26
17
  end
@@ -0,0 +1,30 @@
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 Shared
9
+
10
+
11
+ class CreateAnswer < ::StackOne::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # Unique identifier
15
+ field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
16
+ # Type of the answer
17
+ field :type, T.nilable(::StackOne::Shared::CreateAnswerType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('type') } }
18
+ # Values of the answer
19
+ field :values, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('values') } }
20
+
21
+
22
+ sig { params(id: T.nilable(::String), type: T.nilable(::StackOne::Shared::CreateAnswerType), values: T.nilable(T::Array[::String])).void }
23
+ def initialize(id: nil, type: nil, values: nil)
24
+ @id = id
25
+ @type = type
26
+ @values = values
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,27 @@
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 Shared
9
+
10
+ # Type of the answer
11
+ class CreateAnswerType < ::StackOne::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The source value of the answer type.
15
+ field :source_value, T.nilable(::Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
16
+ # The type of the answer.
17
+ field :value, T.nilable(::StackOne::Shared::CreateAnswerValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(::StackOne::Shared::CreateAnswerValue, true) } }
18
+
19
+
20
+ sig { params(source_value: T.nilable(::Object), value: T.nilable(::StackOne::Shared::CreateAnswerValue)).void }
21
+ def initialize(source_value: nil, value: nil)
22
+ @source_value = source_value
23
+ @value = value
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,25 @@
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 Shared
9
+
10
+ # CreateAnswerValue - The type of the answer.
11
+ class CreateAnswerValue < T::Enum
12
+ enums do
13
+ SHORT_TEXT = new('short_text')
14
+ LONG_TEXT = new('long_text')
15
+ ATTACHMENT = new('attachment')
16
+ MULTI_SELECT = new('multi_select')
17
+ SINGLE_SELECT = new('single_select')
18
+ BOOLEAN = new('boolean')
19
+ NUMBER = new('number')
20
+ DATE = new('date')
21
+ VIDEO = new('video')
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,60 @@
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 Shared
9
+
10
+
11
+ class CreateEmploymentApiModel < ::StackOne::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The created_at date
15
+ field :created_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
16
+ # The effective date of the employment contract
17
+ field :effective_date, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('effective_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
18
+ # The employee ID associated with this employment
19
+ field :employee_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('employee_id') } }
20
+ # The employment work schedule type (e.g., full-time, part-time)
21
+ field :employment_contract_type, T.nilable(::StackOne::Shared::EmploymentContractType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('employment_contract_type') } }
22
+ # The type of employment (e.g., contractor, permanent)
23
+ field :employment_type, T.nilable(::StackOne::Shared::EmploymentType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('employment_type') } }
24
+ # Unique identifier
25
+ field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
26
+ # The job title of the employee
27
+ field :job_title, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('job_title') } }
28
+ # The currency used for pay
29
+ field :pay_currency, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('pay_currency') } }
30
+ # The pay frequency
31
+ field :pay_frequency, T.nilable(::StackOne::Shared::PayFrequency), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('pay_frequency') } }
32
+ # The pay period
33
+ field :pay_period, T.nilable(::StackOne::Shared::PayPeriod), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('pay_period') } }
34
+ # The pay rate for the employee
35
+ field :pay_rate, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('pay_rate') } }
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
+ # The updated_at date
39
+ field :updated_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
40
+
41
+
42
+ sig { params(created_at: T.nilable(::DateTime), effective_date: T.nilable(::DateTime), employee_id: T.nilable(::String), employment_contract_type: T.nilable(::StackOne::Shared::EmploymentContractType), employment_type: T.nilable(::StackOne::Shared::EmploymentType), id: T.nilable(::String), job_title: T.nilable(::String), pay_currency: T.nilable(::String), pay_frequency: T.nilable(::StackOne::Shared::PayFrequency), pay_period: T.nilable(::StackOne::Shared::PayPeriod), pay_rate: T.nilable(::String), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::DateTime)).void }
43
+ def initialize(created_at: nil, effective_date: nil, employee_id: nil, employment_contract_type: nil, employment_type: nil, id: nil, job_title: nil, pay_currency: nil, pay_frequency: nil, pay_period: nil, pay_rate: nil, unified_custom_fields: nil, updated_at: nil)
44
+ @created_at = created_at
45
+ @effective_date = effective_date
46
+ @employee_id = employee_id
47
+ @employment_contract_type = employment_contract_type
48
+ @employment_type = employment_type
49
+ @id = id
50
+ @job_title = job_title
51
+ @pay_currency = pay_currency
52
+ @pay_frequency = pay_frequency
53
+ @pay_period = pay_period
54
+ @pay_rate = pay_rate
55
+ @unified_custom_fields = unified_custom_fields
56
+ @updated_at = updated_at
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,31 @@
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 Shared
9
+
10
+ # CreateEmploymentApiModelSchemasPayFrequencyValue - The pay frequency of the job postings.
11
+ class CreateEmploymentApiModelSchemasPayFrequencyValue < T::Enum
12
+ enums do
13
+ HOURLY = new('hourly')
14
+ WEEKLY = new('weekly')
15
+ BI_WEEKLY = new('bi_weekly')
16
+ FOUR_WEEKLY = new('four_weekly')
17
+ SEMI_MONTHLY = new('semi_monthly')
18
+ MONTHLY = new('monthly')
19
+ BI_MONTHLY = new('bi_monthly')
20
+ QUARTERLY = new('quarterly')
21
+ SEMI_ANNUALLY = new('semi_annually')
22
+ YEARLY = new('yearly')
23
+ THIRTEEN_MONTHLY = new('thirteen_monthly')
24
+ PRO_RATA = new('pro_rata')
25
+ UNMAPPED_VALUE = new('unmapped_value')
26
+ HALF_YEARLY = new('half_yearly')
27
+ DAILY = new('daily')
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,29 @@
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 Shared
9
+
10
+ # CreateEmploymentApiModelSchemasPayPeriodValue - The pay period of the job postings.
11
+ class CreateEmploymentApiModelSchemasPayPeriodValue < T::Enum
12
+ enums do
13
+ HOUR = new('hour')
14
+ DAY = new('day')
15
+ WEEK = new('week')
16
+ EVERY_TWO_WEEKS = new('every_two_weeks')
17
+ MONTH = new('month')
18
+ TWICE_A_MONTH = new('twice_a_month')
19
+ EVERY_TWO_MONTHS = new('every_two_months')
20
+ QUARTER = new('quarter')
21
+ EVERY_SIX_MONTHS = new('every_six_months')
22
+ YEAR = new('year')
23
+ ONE_OFF = new('one_off')
24
+ NONE = new('none')
25
+ UNMAPPED_VALUE = new('unmapped_value')
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,33 @@
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 Shared
9
+
10
+ # CreateEmploymentApiModelSchemasValue - The type of the employment.
11
+ class CreateEmploymentApiModelSchemasValue < T::Enum
12
+ enums do
13
+ CONTRACTOR = new('contractor')
14
+ INTERN = new('intern')
15
+ PERMANENT = new('permanent')
16
+ APPRENTICE = new('apprentice')
17
+ FREELANCE = new('freelance')
18
+ TERMINATED = new('terminated')
19
+ TEMPORARY = new('temporary')
20
+ SEASONAL = new('seasonal')
21
+ VOLUNTEER = new('volunteer')
22
+ PROBATION = new('probation')
23
+ INTERNAL = new('internal')
24
+ EXTERNAL = new('external')
25
+ EXPATRIATE = new('expatriate')
26
+ EMPLOYER_OF_RECORD = new('employer_of_record')
27
+ CASUAL = new('casual')
28
+ PROGRAMME = new('Programme')
29
+ UNMAPPED_VALUE = new('unmapped_value')
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,20 @@
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 Shared
9
+
10
+
11
+ class CreateEmploymentApiModelValue < T::Enum
12
+ enums do
13
+ FULL_TIME = new('full_time')
14
+ SHIFTS = new('shifts')
15
+ PART_TIME = new('part_time')
16
+ UNMAPPED_VALUE = new('unmapped_value')
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,42 @@
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 Shared
9
+
10
+
11
+ class CreateHRISBenefit < ::StackOne::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The type of the benefit
15
+ field :benefit_type, T.nilable(::StackOne::Shared::BenefitType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('benefit_type') } }
16
+ # The date and time the benefit was created
17
+ field :created_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
18
+ # The description of the benefit
19
+ field :description, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('description') } }
20
+ # Unique identifier
21
+ field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
22
+ # The name of the benefit
23
+ field :name, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('name') } }
24
+ # The provider of the benefit
25
+ field :provider, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('provider') } }
26
+ # The date and time the benefit was last updated
27
+ field :updated_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
28
+
29
+
30
+ sig { params(benefit_type: T.nilable(::StackOne::Shared::BenefitType), created_at: T.nilable(::DateTime), description: T.nilable(::String), id: T.nilable(::String), name: T.nilable(::String), provider: T.nilable(::String), updated_at: T.nilable(::DateTime)).void }
31
+ def initialize(benefit_type: nil, created_at: nil, description: nil, id: nil, name: nil, provider: nil, updated_at: nil)
32
+ @benefit_type = benefit_type
33
+ @created_at = created_at
34
+ @description = description
35
+ @id = id
36
+ @name = name
37
+ @provider = provider
38
+ @updated_at = updated_at
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,21 @@
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 Shared
9
+
10
+ # CreateHRISBenefitValue - The type of the benefit
11
+ class CreateHRISBenefitValue < T::Enum
12
+ enums do
13
+ RETIREMENT_SAVINGS = new('retirement_savings')
14
+ HEALTH_SAVINGS = new('health_savings')
15
+ OTHER = new('other')
16
+ HEALTH_INSURANCE = new('health_insurance')
17
+ INSURANCE = new('insurance')
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,33 @@
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 Shared
9
+
10
+
11
+ class CreateMessage < ::StackOne::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # Unique identifier
15
+ field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
16
+
17
+ field :message_content, T.nilable(::Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('message_content') } }
18
+ # Stackone enum identifying the type of message associated with the content.
19
+ field :message_type, T.nilable(::StackOne::Shared::MessageType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('message_type') } }
20
+
21
+ field :name, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('name') } }
22
+
23
+
24
+ sig { params(id: T.nilable(::String), message_content: T.nilable(::Object), message_type: T.nilable(::StackOne::Shared::MessageType), name: T.nilable(::String)).void }
25
+ def initialize(id: nil, message_content: nil, message_type: nil, name: nil)
26
+ @id = id
27
+ @message_content = message_content
28
+ @message_type = message_type
29
+ @name = name
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,20 @@
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 Shared
9
+
10
+ # The unified message type.
11
+ class CreateMessageValue < ::StackOne::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+
15
+
16
+
17
+ def initialize; end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,27 @@
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 Shared
9
+
10
+
11
+ class CreateQuestionnaire < ::StackOne::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+
15
+ field :answers, T.nilable(T::Array[::StackOne::Shared::CreateAnswer]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('answers') } }
16
+ # Unique identifier
17
+ field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
18
+
19
+
20
+ sig { params(answers: T.nilable(T::Array[::StackOne::Shared::CreateAnswer]), id: T.nilable(::String)).void }
21
+ def initialize(answers: nil, id: nil)
22
+ @answers = answers
23
+ @id = id
24
+ end
25
+ end
26
+ end
27
+ end
@@ -16,14 +16,14 @@ module StackOne
16
16
 
17
17
  field :message_content, T.nilable(::StackOne::Shared::MessageContent), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('message_content') } }
18
18
 
19
- field :message_type, T.nilable(::StackOne::Shared::MessageType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('message_type') } }
19
+ field :message_type, T.nilable(::StackOne::Shared::EmailMessagesMessageType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('message_type') } }
20
20
 
21
21
  field :name, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('name') } }
22
22
  # Provider's unique identifier
23
23
  field :remote_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_id') } }
24
24
 
25
25
 
26
- sig { params(id: T.nilable(::String), message_content: T.nilable(::StackOne::Shared::MessageContent), message_type: T.nilable(::StackOne::Shared::MessageType), name: T.nilable(::String), remote_id: T.nilable(::String)).void }
26
+ sig { params(id: T.nilable(::String), message_content: T.nilable(::StackOne::Shared::MessageContent), message_type: T.nilable(::StackOne::Shared::EmailMessagesMessageType), name: T.nilable(::String), remote_id: T.nilable(::String)).void }
27
27
  def initialize(id: nil, message_content: nil, message_type: nil, name: nil, remote_id: nil)
28
28
  @id = id
29
29
  @message_content = message_content
@@ -0,0 +1,27 @@
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 Shared
9
+
10
+
11
+ class EmailMessagesMessageType < ::StackOne::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The original value from the provider used to derive the unified message type.
15
+ field :source_value, T.nilable(::Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
16
+ # The unified message type.
17
+ field :value, T.nilable(::StackOne::Shared::EmailMessagesValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value') } }
18
+
19
+
20
+ sig { params(source_value: T.nilable(::Object), value: T.nilable(::StackOne::Shared::EmailMessagesValue)).void }
21
+ def initialize(source_value: nil, value: nil)
22
+ @source_value = source_value
23
+ @value = value
24
+ end
25
+ end
26
+ end
27
+ end
@@ -42,11 +42,11 @@ module StackOne
42
42
  # The assigned employee number
43
43
  field :employee_number, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('employee_number') } }
44
44
  # The employment work schedule type (e.g., full-time, part-time)
45
- field :employment_contract_type, T.nilable(::StackOne::Shared::EmploymentContractType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('employment_contract_type') } }
45
+ field :employment_contract_type, T.nilable(::StackOne::Shared::EmployeeEmploymentContractType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('employment_contract_type') } }
46
46
  # The employee employment status
47
47
  field :employment_status, T.nilable(::StackOne::Shared::EmploymentStatus), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('employment_status') } }
48
48
  # The employee employment type
49
- field :employment_type, T.nilable(::StackOne::Shared::EmploymentType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('employment_type') } }
49
+ field :employment_type, T.nilable(::StackOne::Shared::EmployeeEmploymentType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('employment_type') } }
50
50
  # The employee employments
51
51
  field :employments, T.nilable(T::Array[::StackOne::Shared::Employment]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('employments') } }
52
52
  # The employee ethnicity
@@ -109,7 +109,7 @@ module StackOne
109
109
  field :work_phone_number, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('work_phone_number') } }
110
110
 
111
111
 
112
- sig { params(avatar: T.nilable(::StackOne::Shared::Avatar), avatar_url: T.nilable(::String), benefits: T.nilable(T::Array[::StackOne::Shared::HRISBenefit]), birthday: T.nilable(::DateTime), citizenships: T.nilable(T::Array[::StackOne::Shared::CountryCodeEnum]), company: T.nilable(::StackOne::Shared::EmployeeCompany), company_name: T.nilable(::String), cost_centers: T.nilable(T::Array[::StackOne::Shared::CostCenters]), created_at: T.nilable(::DateTime), custom_fields: T.nilable(T::Array[::StackOne::Shared::EmployeeCustomFields]), date_of_birth: T.nilable(::DateTime), department: T.nilable(::String), department_id: T.nilable(::String), display_name: T.nilable(::String), employee_number: T.nilable(::String), employment_contract_type: T.nilable(::StackOne::Shared::EmploymentContractType), employment_status: T.nilable(::StackOne::Shared::EmploymentStatus), employment_type: T.nilable(::StackOne::Shared::EmploymentType), employments: T.nilable(T::Array[::StackOne::Shared::Employment]), ethnicity: T.nilable(::StackOne::Shared::Ethnicity), first_name: T.nilable(::String), gender: T.nilable(::StackOne::Shared::Gender), groups: T.nilable(T::Array[::StackOne::Shared::HRISGroup]), hire_date: T.nilable(::DateTime), home_location: T.nilable(::StackOne::Shared::HomeLocation), id: T.nilable(::String), job_description: T.nilable(::StackOne::Shared::JobDescription), job_id: T.nilable(::String), job_title: T.nilable(::String), last_name: T.nilable(::String), manager_id: T.nilable(::String), marital_status: T.nilable(::StackOne::Shared::MaritalStatus), name: T.nilable(::String), national_identity_number: T.nilable(::StackOne::Shared::NationalIdentityNumber), personal_email: T.nilable(::String), personal_phone_number: T.nilable(::String), preferred_language: T.nilable(::StackOne::Shared::PreferredLanguage), remote_id: T.nilable(::String), remote_manager_id: T.nilable(::String), start_date: T.nilable(::DateTime), tenure: T.nilable(::Float), termination_date: T.nilable(::DateTime), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::DateTime), work_anniversary: T.nilable(::DateTime), work_email: T.nilable(::String), work_location: T.nilable(::StackOne::Shared::WorkLocation), work_phone_number: T.nilable(::String)).void }
112
+ sig { params(avatar: T.nilable(::StackOne::Shared::Avatar), avatar_url: T.nilable(::String), benefits: T.nilable(T::Array[::StackOne::Shared::HRISBenefit]), birthday: T.nilable(::DateTime), citizenships: T.nilable(T::Array[::StackOne::Shared::CountryCodeEnum]), company: T.nilable(::StackOne::Shared::EmployeeCompany), company_name: T.nilable(::String), cost_centers: T.nilable(T::Array[::StackOne::Shared::CostCenters]), created_at: T.nilable(::DateTime), custom_fields: T.nilable(T::Array[::StackOne::Shared::EmployeeCustomFields]), date_of_birth: T.nilable(::DateTime), department: T.nilable(::String), department_id: T.nilable(::String), display_name: T.nilable(::String), employee_number: T.nilable(::String), employment_contract_type: T.nilable(::StackOne::Shared::EmployeeEmploymentContractType), employment_status: T.nilable(::StackOne::Shared::EmploymentStatus), employment_type: T.nilable(::StackOne::Shared::EmployeeEmploymentType), employments: T.nilable(T::Array[::StackOne::Shared::Employment]), ethnicity: T.nilable(::StackOne::Shared::Ethnicity), first_name: T.nilable(::String), gender: T.nilable(::StackOne::Shared::Gender), groups: T.nilable(T::Array[::StackOne::Shared::HRISGroup]), hire_date: T.nilable(::DateTime), home_location: T.nilable(::StackOne::Shared::HomeLocation), id: T.nilable(::String), job_description: T.nilable(::StackOne::Shared::JobDescription), job_id: T.nilable(::String), job_title: T.nilable(::String), last_name: T.nilable(::String), manager_id: T.nilable(::String), marital_status: T.nilable(::StackOne::Shared::MaritalStatus), name: T.nilable(::String), national_identity_number: T.nilable(::StackOne::Shared::NationalIdentityNumber), personal_email: T.nilable(::String), personal_phone_number: T.nilable(::String), preferred_language: T.nilable(::StackOne::Shared::PreferredLanguage), remote_id: T.nilable(::String), remote_manager_id: T.nilable(::String), start_date: T.nilable(::DateTime), tenure: T.nilable(::Float), termination_date: T.nilable(::DateTime), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::DateTime), work_anniversary: T.nilable(::DateTime), work_email: T.nilable(::String), work_location: T.nilable(::StackOne::Shared::WorkLocation), work_phone_number: T.nilable(::String)).void }
113
113
  def initialize(avatar: nil, avatar_url: nil, benefits: nil, birthday: nil, citizenships: nil, company: nil, company_name: nil, cost_centers: nil, created_at: nil, custom_fields: nil, date_of_birth: nil, department: nil, department_id: nil, display_name: nil, employee_number: nil, employment_contract_type: nil, employment_status: nil, employment_type: nil, employments: nil, ethnicity: nil, first_name: nil, gender: nil, groups: nil, hire_date: nil, home_location: nil, id: nil, job_description: nil, job_id: nil, job_title: nil, last_name: nil, manager_id: nil, marital_status: nil, name: nil, national_identity_number: nil, personal_email: nil, personal_phone_number: nil, preferred_language: nil, remote_id: nil, remote_manager_id: nil, start_date: nil, tenure: nil, termination_date: nil, unified_custom_fields: nil, updated_at: nil, work_anniversary: nil, work_email: nil, work_location: nil, work_phone_number: nil)
114
114
  @avatar = avatar
115
115
  @avatar_url = avatar_url
@@ -0,0 +1,27 @@
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 Shared
9
+
10
+ # The employment work schedule type (e.g., full-time, part-time)
11
+ class EmployeeEmploymentContractType < ::StackOne::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+
15
+ field :source_value, T.nilable(::Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
16
+
17
+ field :value, T.nilable(::StackOne::Shared::EmployeeValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(::StackOne::Shared::EmployeeValue, true) } }
18
+
19
+
20
+ sig { params(source_value: T.nilable(::Object), value: T.nilable(::StackOne::Shared::EmployeeValue)).void }
21
+ def initialize(source_value: nil, value: nil)
22
+ @source_value = source_value
23
+ @value = value
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
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 Shared
9
+
10
+ # The employee employment type
11
+ class EmployeeEmploymentType < ::StackOne::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The source value of the employment type.
15
+ field :source_value, T.nilable(::Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
16
+ # The type of the employment.
17
+ field :value, T.nilable(::StackOne::Shared::EmployeeSchemasEmploymentTypeValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(::StackOne::Shared::EmployeeSchemasEmploymentTypeValue, true) } }
18
+
19
+
20
+ sig { params(source_value: T.nilable(::Object), value: T.nilable(::StackOne::Shared::EmployeeSchemasEmploymentTypeValue)).void }
21
+ def initialize(source_value: nil, value: nil)
22
+ @source_value = source_value
23
+ @value = value
24
+ end
25
+ end
26
+ end
27
+ end
@@ -28,9 +28,9 @@ module StackOne
28
28
  # The currency used for pay
29
29
  field :pay_currency, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('pay_currency') } }
30
30
  # The pay frequency
31
- field :pay_frequency, T.nilable(::StackOne::Shared::PayFrequency), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('pay_frequency') } }
31
+ field :pay_frequency, T.nilable(::StackOne::Shared::EmploymentPayFrequency), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('pay_frequency') } }
32
32
  # The pay period
33
- field :pay_period, T.nilable(::StackOne::Shared::PayPeriod), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('pay_period') } }
33
+ field :pay_period, T.nilable(::StackOne::Shared::EmploymentPayPeriod), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('pay_period') } }
34
34
  # The pay rate for the employee
35
35
  field :pay_rate, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('pay_rate') } }
36
36
  # Provider's unique identifier of the employee associated with this employment
@@ -43,7 +43,7 @@ module StackOne
43
43
  field :updated_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
44
44
 
45
45
 
46
- sig { params(created_at: T.nilable(::DateTime), effective_date: T.nilable(::DateTime), employee_id: T.nilable(::String), employment_contract_type: T.nilable(::StackOne::Shared::EmploymentEmploymentContractType), employment_type: T.nilable(::StackOne::Shared::EmploymentEmploymentType), id: T.nilable(::String), job_title: T.nilable(::String), pay_currency: T.nilable(::String), pay_frequency: T.nilable(::StackOne::Shared::PayFrequency), pay_period: T.nilable(::StackOne::Shared::PayPeriod), pay_rate: T.nilable(::String), remote_employee_id: T.nilable(::String), remote_id: T.nilable(::String), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::DateTime)).void }
46
+ sig { params(created_at: T.nilable(::DateTime), effective_date: T.nilable(::DateTime), employee_id: T.nilable(::String), employment_contract_type: T.nilable(::StackOne::Shared::EmploymentEmploymentContractType), employment_type: T.nilable(::StackOne::Shared::EmploymentEmploymentType), id: T.nilable(::String), job_title: T.nilable(::String), pay_currency: T.nilable(::String), pay_frequency: T.nilable(::StackOne::Shared::EmploymentPayFrequency), pay_period: T.nilable(::StackOne::Shared::EmploymentPayPeriod), pay_rate: T.nilable(::String), remote_employee_id: T.nilable(::String), remote_id: T.nilable(::String), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::DateTime)).void }
47
47
  def initialize(created_at: nil, effective_date: nil, employee_id: nil, employment_contract_type: nil, employment_type: nil, id: nil, job_title: nil, pay_currency: nil, pay_frequency: nil, pay_period: nil, pay_rate: nil, remote_employee_id: nil, remote_id: nil, unified_custom_fields: nil, updated_at: nil)
48
48
  @created_at = created_at
49
49
  @effective_date = effective_date