stackone_client 0.2.39 → 0.2.40

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) 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.rb +4 -0
  10. data/lib/stack_one/models/shared/atscreateapplicationrequestdto.rb +2 -2
  11. data/lib/stack_one/models/shared/atscreateapplicationrequestdto_source.rb +2 -5
  12. data/lib/stack_one/models/shared/atscreatejobrequestdto.rb +59 -0
  13. data/lib/stack_one/models/shared/atscreatejobrequestdto_value.rb +25 -0
  14. data/lib/stack_one/models/shared/atsupdateapplicationrequestdto_source.rb +2 -5
  15. data/lib/stack_one/models/shared/atsupdatejobrequestdto.rb +59 -0
  16. data/lib/stack_one/models/shared/atsupdatejobrequestdto_confidential.rb +18 -0
  17. data/lib/stack_one/models/shared/atsupdatejobrequestdto_job_status.rb +27 -0
  18. data/lib/stack_one/models/shared/atsupdatejobrequestdto_value.rb +25 -0
  19. data/lib/stack_one/models/shared/benefit_type.rb +2 -2
  20. data/lib/stack_one/models/shared/completion.rb +14 -2
  21. data/lib/stack_one/models/shared/confidential.rb +5 -14
  22. data/lib/stack_one/models/shared/createanswer.rb +30 -0
  23. data/lib/stack_one/models/shared/createanswer_type.rb +27 -0
  24. data/lib/stack_one/models/shared/createanswer_value.rb +25 -0
  25. data/lib/stack_one/models/shared/createemploymentapimodel.rb +60 -0
  26. data/lib/stack_one/models/shared/createemploymentapimodel_schemas_pay_frequency_value.rb +31 -0
  27. data/lib/stack_one/models/shared/createemploymentapimodel_schemas_pay_period_value.rb +29 -0
  28. data/lib/stack_one/models/shared/createemploymentapimodel_schemas_value.rb +33 -0
  29. data/lib/stack_one/models/shared/createemploymentapimodel_value.rb +20 -0
  30. data/lib/stack_one/models/shared/createhrisbenefit.rb +42 -0
  31. data/lib/stack_one/models/shared/createhrisbenefit_value.rb +21 -0
  32. data/lib/stack_one/models/shared/createmessage.rb +33 -0
  33. data/lib/stack_one/models/shared/createmessage_value.rb +20 -0
  34. data/lib/stack_one/models/shared/createquestionnaire.rb +27 -0
  35. data/lib/stack_one/models/shared/emailmessages.rb +2 -2
  36. data/lib/stack_one/models/shared/emailmessages_message_type.rb +27 -0
  37. data/lib/stack_one/models/shared/employee.rb +3 -3
  38. data/lib/stack_one/models/shared/employee_employment_contract_type.rb +27 -0
  39. data/lib/stack_one/models/shared/employee_employment_type.rb +27 -0
  40. data/lib/stack_one/models/shared/employment.rb +3 -3
  41. data/lib/stack_one/models/shared/employment_contract_type.rb +2 -2
  42. data/lib/stack_one/models/shared/employment_pay_frequency.rb +27 -0
  43. data/lib/stack_one/models/shared/employment_pay_period.rb +27 -0
  44. data/lib/stack_one/models/shared/employment_type.rb +3 -3
  45. data/lib/stack_one/models/shared/hrisbenefit.rb +2 -2
  46. data/lib/stack_one/models/shared/hrisbenefit_benefit_type.rb +27 -0
  47. data/lib/stack_one/models/shared/hriscreateemployeerequestdto.rb +3 -3
  48. data/lib/stack_one/models/shared/hrisdepartment_value.rb +4 -0
  49. data/lib/stack_one/models/shared/hrisdocumentsuploadrequestdto.rb +2 -2
  50. data/lib/stack_one/models/shared/hrisdocumentsuploadrequestdto_confidential.rb +27 -0
  51. data/lib/stack_one/models/shared/iammfatypeenum_value.rb +5 -0
  52. data/lib/stack_one/models/shared/job.rb +2 -2
  53. data/lib/stack_one/models/shared/job_job_status.rb +27 -0
  54. data/lib/stack_one/models/shared/job_status.rb +2 -2
  55. data/lib/stack_one/models/shared/level.rb +27 -0
  56. data/lib/stack_one/models/shared/marketingcreatetemplaterequestdto.rb +2 -2
  57. data/lib/stack_one/models/shared/message_type.rb +3 -3
  58. data/lib/stack_one/models/shared/pay_frequency.rb +2 -2
  59. data/lib/stack_one/models/shared/pay_period.rb +2 -2
  60. data/lib/stack_one/models/shared/skills.rb +5 -2
  61. data/lib/stack_one/models/shared/skills_value.rb +18 -0
  62. data/lib/stack_one/models/shared.rb +53 -24
  63. data/lib/stack_one/sdkconfiguration.rb +3 -3
  64. 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