stackone_client 0.0.2 → 0.0.3

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 (118) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stackone/models/operations/ats_get_application.rb +12 -2
  3. data/lib/stackone/models/operations/ats_get_application_offer.rb +12 -2
  4. data/lib/stackone/models/operations/ats_get_application_scorecard.rb +12 -2
  5. data/lib/stackone/models/operations/ats_get_candidate.rb +12 -2
  6. data/lib/stackone/models/operations/ats_get_candidate_note.rb +12 -2
  7. data/lib/stackone/models/operations/ats_get_department.rb +12 -2
  8. data/lib/stackone/models/operations/ats_get_interview.rb +12 -2
  9. data/lib/stackone/models/operations/ats_get_interview_stage.rb +12 -2
  10. data/lib/stackone/models/operations/ats_get_job.rb +12 -2
  11. data/lib/stackone/models/operations/ats_get_job_posting.rb +12 -2
  12. data/lib/stackone/models/operations/ats_get_location.rb +12 -2
  13. data/lib/stackone/models/operations/ats_get_offer.rb +12 -2
  14. data/lib/stackone/models/operations/ats_get_rejected_reason.rb +12 -2
  15. data/lib/stackone/models/operations/ats_get_user.rb +12 -2
  16. data/lib/stackone/models/operations/ats_list_application_scorecards.rb +12 -2
  17. data/lib/stackone/models/operations/ats_list_applications.rb +12 -2
  18. data/lib/stackone/models/operations/ats_list_applications_offers.rb +12 -2
  19. data/lib/stackone/models/operations/ats_list_candidate_notes.rb +12 -2
  20. data/lib/stackone/models/operations/ats_list_candidates.rb +12 -2
  21. data/lib/stackone/models/operations/ats_list_departments.rb +12 -2
  22. data/lib/stackone/models/operations/ats_list_interview_stages.rb +12 -2
  23. data/lib/stackone/models/operations/ats_list_interviews.rb +12 -2
  24. data/lib/stackone/models/operations/ats_list_job_postings.rb +12 -2
  25. data/lib/stackone/models/operations/ats_list_jobs.rb +12 -2
  26. data/lib/stackone/models/operations/ats_list_locations.rb +12 -2
  27. data/lib/stackone/models/operations/ats_list_offers.rb +12 -2
  28. data/lib/stackone/models/operations/ats_list_rejected_reasons.rb +12 -2
  29. data/lib/stackone/models/operations/ats_list_users.rb +12 -2
  30. data/lib/stackone/models/operations/crm_get_account.rb +12 -2
  31. data/lib/stackone/models/operations/crm_get_contact.rb +12 -2
  32. data/lib/stackone/models/operations/crm_get_list.rb +12 -2
  33. data/lib/stackone/models/operations/crm_list_accounts.rb +12 -2
  34. data/lib/stackone/models/operations/crm_list_contacts.rb +12 -2
  35. data/lib/stackone/models/operations/crm_list_lists.rb +12 -2
  36. data/lib/stackone/models/operations/hris_get_company.rb +12 -2
  37. data/lib/stackone/models/operations/hris_get_employee.rb +12 -2
  38. data/lib/stackone/models/operations/hris_get_employee_document.rb +12 -2
  39. data/lib/stackone/models/operations/hris_get_employees_time_off_request.rb +12 -2
  40. data/lib/stackone/models/operations/hris_get_employment.rb +12 -2
  41. data/lib/stackone/models/operations/hris_get_location.rb +12 -2
  42. data/lib/stackone/models/operations/hris_get_time_off_request.rb +12 -2
  43. data/lib/stackone/models/operations/hris_list_companies.rb +12 -2
  44. data/lib/stackone/models/operations/hris_list_employee_documents.rb +12 -2
  45. data/lib/stackone/models/operations/hris_list_employee_time_off_requests.rb +12 -2
  46. data/lib/stackone/models/operations/hris_list_employees.rb +12 -2
  47. data/lib/stackone/models/operations/hris_list_employments.rb +12 -2
  48. data/lib/stackone/models/operations/hris_list_locations.rb +12 -2
  49. data/lib/stackone/models/operations/hris_list_time_off_requests.rb +12 -2
  50. data/lib/stackone/models/operations/marketing_get_campaign.rb +12 -2
  51. data/lib/stackone/models/operations/marketing_get_email_template.rb +12 -2
  52. data/lib/stackone/models/operations/marketing_get_omni_channel_template.rb +12 -2
  53. data/lib/stackone/models/operations/marketing_get_push_template.rb +12 -2
  54. data/lib/stackone/models/operations/marketing_list_campaigns.rb +12 -2
  55. data/lib/stackone/models/operations/marketing_list_email_templates.rb +12 -2
  56. data/lib/stackone/models/operations/marketing_list_omni_channel_templates.rb +12 -2
  57. data/lib/stackone/models/operations/marketing_list_push_templates.rb +12 -2
  58. data/lib/stackone/models/shared/accountaddress.rb +6 -6
  59. data/lib/stackone/models/shared/answer.rb +7 -7
  60. data/lib/stackone/models/shared/application.rb +92 -9
  61. data/lib/stackone/models/shared/applicationattachment.rb +2 -2
  62. data/lib/stackone/models/shared/atscreateapplicationrequestdto.rb +65 -8
  63. data/lib/stackone/models/shared/atscreatecandidaterequestdto.rb +15 -15
  64. data/lib/stackone/models/shared/atscreatenotesrequestdto.rb +7 -7
  65. data/lib/stackone/models/shared/atscreateofferrequestdto.rb +41 -10
  66. data/lib/stackone/models/shared/atslocation.rb +3 -3
  67. data/lib/stackone/models/shared/atsupdateapplicationrequestdto.rb +62 -5
  68. data/lib/stackone/models/shared/attachmenttype.rb +5 -5
  69. data/lib/stackone/models/shared/campaign.rb +11 -11
  70. data/lib/stackone/models/shared/candidate.rb +25 -25
  71. data/lib/stackone/models/shared/candidateemail.rb +3 -3
  72. data/lib/stackone/models/shared/channelsenum.rb +3 -3
  73. data/lib/stackone/models/shared/connectsession.rb +5 -5
  74. data/lib/stackone/models/shared/connectsessiontoken.rb +5 -5
  75. data/lib/stackone/models/shared/content.rb +9 -8
  76. data/lib/stackone/models/shared/costcenters.rb +25 -0
  77. data/lib/stackone/models/shared/countrycodeenum.rb +4 -4
  78. data/lib/stackone/models/shared/createtimeoffresult.rb +4 -4
  79. data/lib/stackone/models/shared/department.rb +3 -3
  80. data/lib/stackone/models/shared/documentfileformatenum.rb +40 -0
  81. data/lib/stackone/models/shared/documenttypeenum.rb +3 -3
  82. data/lib/stackone/models/shared/emailmessages.rb +10 -10
  83. data/lib/stackone/models/shared/employee.rb +48 -35
  84. data/lib/stackone/models/shared/employeecustomfields.rb +3 -3
  85. data/lib/stackone/models/shared/employment.rb +25 -18
  86. data/lib/stackone/models/shared/hriscreateemployeerequestdto.rb +40 -33
  87. data/lib/stackone/models/shared/hriscreatetimeoffrequestdto.rb +6 -6
  88. data/lib/stackone/models/shared/hrislocation.rb +7 -7
  89. data/lib/stackone/models/shared/interview.rb +46 -20
  90. data/lib/stackone/models/shared/interviewer.rb +6 -6
  91. data/lib/stackone/models/shared/interviewstage.rb +7 -7
  92. data/lib/stackone/models/shared/job.rb +49 -18
  93. data/lib/stackone/models/shared/{hiringteam.rb → jobhiringteam.rb} +1 -1
  94. data/lib/stackone/models/shared/jobposting.rb +21 -14
  95. data/lib/stackone/models/shared/{compensation.rb → jobpostingcompensation.rb} +23 -23
  96. data/lib/stackone/models/shared/{location.rb → jobpostinglocation.rb} +1 -1
  97. data/lib/stackone/models/shared/jobpostingquestionnaire.rb +34 -0
  98. data/lib/stackone/models/shared/list.rb +3 -3
  99. data/lib/stackone/models/shared/message.rb +7 -7
  100. data/lib/stackone/models/shared/note.rb +7 -7
  101. data/lib/stackone/models/shared/offer.rb +43 -12
  102. data/lib/stackone/models/shared/offerhistory.rb +5 -5
  103. data/lib/stackone/models/shared/pushmessages.rb +5 -5
  104. data/lib/stackone/models/shared/question.rb +73 -0
  105. data/lib/stackone/models/shared/questionmultiplechoiceanswers.rb +28 -0
  106. data/lib/stackone/models/shared/questionnaire.rb +2 -2
  107. data/lib/stackone/models/shared/rejectedreason.rb +33 -5
  108. data/lib/stackone/models/shared/sociallink.rb +3 -3
  109. data/lib/stackone/models/shared/timeoff.rb +6 -6
  110. data/lib/stackone/models/shared/user.rb +8 -8
  111. data/lib/stackone/sdkconfiguration.rb +3 -3
  112. data/lib/stackone_client.rb +9 -9
  113. metadata +10 -10
  114. data/lib/stackone/models/shared/applicationcandidate.rb +0 -31
  115. data/lib/stackone/models/shared/applicationstatusenumapimodel.rb +0 -50
  116. data/lib/stackone/models/shared/jobstatusenum.rb +0 -43
  117. data/lib/stackone/models/shared/offerstatusenum.rb +0 -43
  118. data/lib/stackone/models/shared/rejectedreasontypeenum.rb +0 -40
@@ -41,12 +41,12 @@ module StackOne
41
41
  extend T::Sig
42
42
 
43
43
  # The source value of the employment contract type.
44
- field :source_value, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
44
+ field :source_value, T.nilable(Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
45
45
  # The employment contract type.
46
- field :value, Shared::JobPostingValue, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::JobPostingValue, false) } }
46
+ field :value, T.nilable(Shared::JobPostingValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::JobPostingValue, true) } }
47
47
 
48
48
 
49
- sig { params(source_value: String, value: Shared::JobPostingValue).void }
49
+ sig { params(source_value: T.nilable(Object), value: T.nilable(Shared::JobPostingValue)).void }
50
50
  def initialize(source_value: nil, value: nil)
51
51
  @source_value = source_value
52
52
  @value = value
@@ -56,14 +56,21 @@ module StackOne
56
56
  # JobPostingSchemasValue - The type of the employment.
57
57
  class JobPostingSchemasValue < T::Enum
58
58
  enums do
59
- PERMANENT = new('permanent')
59
+ FULL_TIME = new('full_time')
60
+ PART_TIME = new('part_time')
60
61
  CONTRACTOR = new('contractor')
61
62
  INTERN = new('intern')
63
+ PERMANENT = new('permanent')
62
64
  APPRENTICE = new('apprentice')
63
65
  FREELANCE = new('freelance')
66
+ TERMINATED = new('terminated')
64
67
  TEMPORARY = new('temporary')
65
68
  SEASONAL = new('seasonal')
66
69
  VOLUNTEER = new('volunteer')
70
+ PROBATION = new('probation')
71
+ INTERNAL = new('internal')
72
+ EXTERNAL = new('external')
73
+ EMPLOYER_OF_RECORD = new('employer_of_record')
67
74
  UNMAPPED_VALUE = new('unmapped_value')
68
75
  end
69
76
  end
@@ -74,12 +81,12 @@ module StackOne
74
81
  extend T::Sig
75
82
 
76
83
  # The source value of the employment type.
77
- field :source_value, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
84
+ field :source_value, T.nilable(Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
78
85
  # The type of the employment.
79
- field :value, Shared::JobPostingSchemasValue, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::JobPostingSchemasValue, false) } }
86
+ field :value, T.nilable(Shared::JobPostingSchemasValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::JobPostingSchemasValue, true) } }
80
87
 
81
88
 
82
- sig { params(source_value: String, value: Shared::JobPostingSchemasValue).void }
89
+ sig { params(source_value: T.nilable(Object), value: T.nilable(Shared::JobPostingSchemasValue)).void }
83
90
  def initialize(source_value: nil, value: nil)
84
91
  @source_value = source_value
85
92
  @value = value
@@ -111,12 +118,12 @@ module StackOne
111
118
  extend T::Sig
112
119
 
113
120
  # The source value of the job postings status.
114
- field :source_value, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
121
+ field :source_value, T.nilable(Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
115
122
  # The status of the job postings.
116
- field :value, Shared::JobPostingSchemasStatusValue, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::JobPostingSchemasStatusValue, false) } }
123
+ field :value, T.nilable(Shared::JobPostingSchemasStatusValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::JobPostingSchemasStatusValue, true) } }
117
124
 
118
125
 
119
- sig { params(source_value: String, value: Shared::JobPostingSchemasStatusValue).void }
126
+ sig { params(source_value: T.nilable(Object), value: T.nilable(Shared::JobPostingSchemasStatusValue)).void }
120
127
  def initialize(source_value: nil, value: nil)
121
128
  @source_value = source_value
122
129
  @value = value
@@ -130,7 +137,7 @@ module StackOne
130
137
 
131
138
  field :id, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
132
139
 
133
- field :compensation, T.nilable(T::Array[Shared::Compensation]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('compensation') } }
140
+ field :compensation, T.nilable(T::Array[Shared::JobPostingCompensation]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('compensation') } }
134
141
 
135
142
  field :content, T.nilable(Shared::JobPostingContent), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('content') } }
136
143
  # Date of creation
@@ -148,9 +155,9 @@ module StackOne
148
155
 
149
156
  field :job_id, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('job_id') } }
150
157
 
151
- field :locations, T.nilable(T::Array[Shared::Location]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('locations') } }
158
+ field :locations, T.nilable(T::Array[Shared::JobPostingLocation]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('locations') } }
152
159
 
153
- field :questionnaires, T.nilable(T::Array[Shared::Questionnaire]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('questionnaires') } }
160
+ field :questionnaires, T.nilable(T::Array[Shared::JobPostingQuestionnaire]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('questionnaires') } }
154
161
 
155
162
  field :status, T.nilable(Shared::JobPostingStatus), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('status') } }
156
163
 
@@ -159,7 +166,7 @@ module StackOne
159
166
  field :updated_at, T.nilable(DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
160
167
 
161
168
 
162
- sig { params(id: String, compensation: T.nilable(T::Array[Shared::Compensation]), content: T.nilable(Shared::JobPostingContent), created_at: T.nilable(DateTime), employment_contract_type: T.nilable(Shared::JobPostingEmploymentContractType), employment_type: T.nilable(Shared::JobPostingEmploymentType), external_apply_url: T.nilable(String), external_url: T.nilable(String), internal: T.nilable(Shared::Internal), job_id: T.nilable(String), locations: T.nilable(T::Array[Shared::Location]), questionnaires: T.nilable(T::Array[Shared::Questionnaire]), status: T.nilable(Shared::JobPostingStatus), title: T.nilable(String), updated_at: T.nilable(DateTime)).void }
169
+ sig { params(id: String, compensation: T.nilable(T::Array[Shared::JobPostingCompensation]), content: T.nilable(Shared::JobPostingContent), created_at: T.nilable(DateTime), employment_contract_type: T.nilable(Shared::JobPostingEmploymentContractType), employment_type: T.nilable(Shared::JobPostingEmploymentType), external_apply_url: T.nilable(String), external_url: T.nilable(String), internal: T.nilable(Shared::Internal), job_id: T.nilable(String), locations: T.nilable(T::Array[Shared::JobPostingLocation]), questionnaires: T.nilable(T::Array[Shared::JobPostingQuestionnaire]), status: T.nilable(Shared::JobPostingStatus), title: T.nilable(String), updated_at: T.nilable(DateTime)).void }
163
170
  def initialize(id: nil, compensation: nil, content: nil, created_at: nil, employment_contract_type: nil, employment_type: nil, external_apply_url: nil, external_url: nil, internal: nil, job_id: nil, locations: nil, questionnaires: nil, status: nil, title: nil, updated_at: nil)
164
171
  @id = id
165
172
  @compensation = compensation
@@ -8,8 +8,8 @@ require 'faraday'
8
8
 
9
9
  module StackOne
10
10
  module Shared
11
- # CompensationValue - The pay frequency of the job postings.
12
- class CompensationValue < T::Enum
11
+ # JobPostingCompensationValue - The pay frequency of the job postings.
12
+ class JobPostingCompensationValue < T::Enum
13
13
  enums do
14
14
  HOURLY = new('hourly')
15
15
  WEEKLY = new('weekly')
@@ -30,24 +30,24 @@ module StackOne
30
30
 
31
31
 
32
32
 
33
- class PayFrequency < ::StackOne::Utils::FieldAugmented
33
+ class JobPostingCompensationPayFrequency < ::StackOne::Utils::FieldAugmented
34
34
  extend T::Sig
35
35
 
36
36
  # The source value of the pay frequency.
37
- field :source_value, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
37
+ field :source_value, T.nilable(Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
38
38
  # The pay frequency of the job postings.
39
- field :value, Shared::CompensationValue, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::CompensationValue, false) } }
39
+ field :value, T.nilable(Shared::JobPostingCompensationValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::JobPostingCompensationValue, true) } }
40
40
 
41
41
 
42
- sig { params(source_value: String, value: Shared::CompensationValue).void }
42
+ sig { params(source_value: T.nilable(Object), value: T.nilable(Shared::JobPostingCompensationValue)).void }
43
43
  def initialize(source_value: nil, value: nil)
44
44
  @source_value = source_value
45
45
  @value = value
46
46
  end
47
47
  end
48
48
 
49
- # CompensationSchemasValue - The pay period of the job postings.
50
- class CompensationSchemasValue < T::Enum
49
+ # JobPostingCompensationSchemasValue - The pay period of the job postings.
50
+ class JobPostingCompensationSchemasValue < T::Enum
51
51
  enums do
52
52
  HOUR = new('hour')
53
53
  DAY = new('day')
@@ -64,24 +64,24 @@ module StackOne
64
64
 
65
65
 
66
66
 
67
- class PayPeriod < ::StackOne::Utils::FieldAugmented
67
+ class JobPostingCompensationPayPeriod < ::StackOne::Utils::FieldAugmented
68
68
  extend T::Sig
69
69
 
70
70
  # The source value of the pay period.
71
- field :source_value, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
71
+ field :source_value, T.nilable(Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
72
72
  # The pay period of the job postings.
73
- field :value, Shared::CompensationSchemasValue, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::CompensationSchemasValue, false) } }
73
+ field :value, T.nilable(Shared::JobPostingCompensationSchemasValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::JobPostingCompensationSchemasValue, true) } }
74
74
 
75
75
 
76
- sig { params(source_value: String, value: Shared::CompensationSchemasValue).void }
76
+ sig { params(source_value: T.nilable(Object), value: T.nilable(Shared::JobPostingCompensationSchemasValue)).void }
77
77
  def initialize(source_value: nil, value: nil)
78
78
  @source_value = source_value
79
79
  @value = value
80
80
  end
81
81
  end
82
82
 
83
- # CompensationSchemasTypeValue - The type of the compensation.
84
- class CompensationSchemasTypeValue < T::Enum
83
+ # JobPostingCompensationSchemasTypeValue - The type of the compensation.
84
+ class JobPostingCompensationSchemasTypeValue < T::Enum
85
85
  enums do
86
86
  SALARY = new('salary')
87
87
  HOURLY = new('hourly')
@@ -95,16 +95,16 @@ module StackOne
95
95
 
96
96
 
97
97
 
98
- class CompensationType < ::StackOne::Utils::FieldAugmented
98
+ class JobPostingCompensationType < ::StackOne::Utils::FieldAugmented
99
99
  extend T::Sig
100
100
 
101
101
  # The source value of the compensation type.
102
- field :source_value, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
102
+ field :source_value, T.nilable(Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
103
103
  # The type of the compensation.
104
- field :value, Shared::CompensationSchemasTypeValue, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::CompensationSchemasTypeValue, false) } }
104
+ field :value, T.nilable(Shared::JobPostingCompensationSchemasTypeValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::JobPostingCompensationSchemasTypeValue, true) } }
105
105
 
106
106
 
107
- sig { params(source_value: String, value: Shared::CompensationSchemasTypeValue).void }
107
+ sig { params(source_value: T.nilable(Object), value: T.nilable(Shared::JobPostingCompensationSchemasTypeValue)).void }
108
108
  def initialize(source_value: nil, value: nil)
109
109
  @source_value = source_value
110
110
  @value = value
@@ -112,7 +112,7 @@ module StackOne
112
112
  end
113
113
 
114
114
 
115
- class Compensation < ::StackOne::Utils::FieldAugmented
115
+ class JobPostingCompensation < ::StackOne::Utils::FieldAugmented
116
116
  extend T::Sig
117
117
 
118
118
 
@@ -124,16 +124,16 @@ module StackOne
124
124
 
125
125
  field :name, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('name') } }
126
126
 
127
- field :pay_frequency, T.nilable(Shared::PayFrequency), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('pay_frequency') } }
127
+ field :pay_frequency, T.nilable(Shared::JobPostingCompensationPayFrequency), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('pay_frequency') } }
128
128
 
129
- field :pay_period, T.nilable(Shared::PayPeriod), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('pay_period') } }
129
+ field :pay_period, T.nilable(Shared::JobPostingCompensationPayPeriod), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('pay_period') } }
130
130
 
131
- field :type, T.nilable(Shared::CompensationType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('type') } }
131
+ field :type, T.nilable(Shared::JobPostingCompensationType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('type') } }
132
132
 
133
133
  field :value, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value') } }
134
134
 
135
135
 
136
- sig { params(currency: T.nilable(String), max_value: T.nilable(String), min_value: T.nilable(String), name: T.nilable(String), pay_frequency: T.nilable(Shared::PayFrequency), pay_period: T.nilable(Shared::PayPeriod), type: T.nilable(Shared::CompensationType), value: T.nilable(String)).void }
136
+ sig { params(currency: T.nilable(String), max_value: T.nilable(String), min_value: T.nilable(String), name: T.nilable(String), pay_frequency: T.nilable(Shared::JobPostingCompensationPayFrequency), pay_period: T.nilable(Shared::JobPostingCompensationPayPeriod), type: T.nilable(Shared::JobPostingCompensationType), value: T.nilable(String)).void }
137
137
  def initialize(currency: nil, max_value: nil, min_value: nil, name: nil, pay_frequency: nil, pay_period: nil, type: nil, value: nil)
138
138
  @currency = currency
139
139
  @max_value = max_value
@@ -9,7 +9,7 @@ require 'faraday'
9
9
  module StackOne
10
10
  module Shared
11
11
 
12
- class Location < ::StackOne::Utils::FieldAugmented
12
+ class JobPostingLocation < ::StackOne::Utils::FieldAugmented
13
13
  extend T::Sig
14
14
 
15
15
 
@@ -0,0 +1,34 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'sorbet-runtime'
7
+ require 'faraday'
8
+
9
+ module StackOne
10
+ module Shared
11
+
12
+ class JobPostingQuestionnaire < ::StackOne::Utils::FieldAugmented
13
+ extend T::Sig
14
+
15
+
16
+ field :id, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
17
+
18
+ field :internal, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('internal') } }
19
+
20
+ field :name, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('name') } }
21
+
22
+ field :questions, T.nilable(T::Array[Shared::Question]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('questions') } }
23
+
24
+
25
+ sig { params(id: T.nilable(String), internal: T.nilable(T::Boolean), name: T.nilable(String), questions: T.nilable(T::Array[Shared::Question])).void }
26
+ def initialize(id: nil, internal: nil, name: nil, questions: nil)
27
+ @id = id
28
+ @internal = internal
29
+ @name = name
30
+ @questions = questions
31
+ end
32
+ end
33
+ end
34
+ end
@@ -23,12 +23,12 @@ module StackOne
23
23
  extend T::Sig
24
24
 
25
25
  # The source value of the list type.
26
- field :source_value, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
26
+ field :source_value, T.nilable(Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
27
27
  # The type of the list.
28
- field :value, Shared::ListValue, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::ListValue, false) } }
28
+ field :value, T.nilable(Shared::ListValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::ListValue, true) } }
29
29
 
30
30
 
31
- sig { params(source_value: String, value: Shared::ListValue).void }
31
+ sig { params(source_value: T.nilable(Object), value: T.nilable(Shared::ListValue)).void }
32
32
  def initialize(source_value: nil, value: nil)
33
33
  @source_value = source_value
34
34
  @value = value
@@ -29,21 +29,21 @@ module StackOne
29
29
  extend T::Sig
30
30
 
31
31
 
32
- field :id, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
32
+ field :id, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
33
33
 
34
- field :message_type, Shared::MessageMessageType, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('message_type'), 'decoder': Utils.enum_from_string(Shared::MessageMessageType, false) } }
34
+ field :message_content, T.nilable(Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('message_content') } }
35
35
 
36
- field :name, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('name') } }
36
+ field :message_type, T.nilable(Shared::MessageMessageType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('message_type'), 'decoder': Utils.enum_from_string(Shared::MessageMessageType, true) } }
37
37
 
38
- field :message_content, T.nilable(Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('message_content') } }
38
+ field :name, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('name') } }
39
39
 
40
40
 
41
- sig { params(id: String, message_type: Shared::MessageMessageType, name: String, message_content: T.nilable(Object)).void }
42
- def initialize(id: nil, message_type: nil, name: nil, message_content: nil)
41
+ sig { params(id: T.nilable(String), message_content: T.nilable(Object), message_type: T.nilable(Shared::MessageMessageType), name: T.nilable(String)).void }
42
+ def initialize(id: nil, message_content: nil, message_type: nil, name: nil)
43
43
  @id = id
44
+ @message_content = message_content
44
45
  @message_type = message_type
45
46
  @name = name
46
- @message_content = message_content
47
47
  end
48
48
  end
49
49
  end
@@ -22,12 +22,12 @@ module StackOne
22
22
  extend T::Sig
23
23
 
24
24
  # The source value of the notes visibility.
25
- field :source_value, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
25
+ field :source_value, T.nilable(Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
26
26
  # The visibility of the notes.
27
27
  field :value, T.nilable(Shared::NoteValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::NoteValue, true) } }
28
28
 
29
29
 
30
- sig { params(source_value: T.nilable(String), value: T.nilable(Shared::NoteValue)).void }
30
+ sig { params(source_value: T.nilable(Object), value: T.nilable(Shared::NoteValue)).void }
31
31
  def initialize(source_value: nil, value: nil)
32
32
  @source_value = source_value
33
33
  @value = value
@@ -39,11 +39,11 @@ module StackOne
39
39
  extend T::Sig
40
40
 
41
41
 
42
- field :content, T::Array[Shared::NoteContentApiModel], { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('content') } }
43
-
44
42
  field :id, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
45
43
  # Unique identifier of the author
46
44
  field :author_id, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('author_id') } }
45
+
46
+ field :content, T.nilable(T::Array[Shared::NoteContentApiModel]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('content') } }
47
47
  # Date of creation
48
48
  field :created_at, T.nilable(DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
49
49
  # Date of Deletion
@@ -54,11 +54,11 @@ module StackOne
54
54
  field :visibility, T.nilable(Shared::NoteVisibility), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('visibility') } }
55
55
 
56
56
 
57
- sig { params(content: T::Array[Shared::NoteContentApiModel], id: String, author_id: T.nilable(String), created_at: T.nilable(DateTime), deleted_at: T.nilable(DateTime), updated_at: T.nilable(DateTime), visibility: T.nilable(Shared::NoteVisibility)).void }
58
- def initialize(content: nil, id: nil, author_id: nil, created_at: nil, deleted_at: nil, updated_at: nil, visibility: nil)
59
- @content = content
57
+ sig { params(id: String, author_id: T.nilable(String), content: T.nilable(T::Array[Shared::NoteContentApiModel]), created_at: T.nilable(DateTime), deleted_at: T.nilable(DateTime), updated_at: T.nilable(DateTime), visibility: T.nilable(Shared::NoteVisibility)).void }
58
+ def initialize(id: nil, author_id: nil, content: nil, created_at: nil, deleted_at: nil, updated_at: nil, visibility: nil)
60
59
  @id = id
61
60
  @author_id = author_id
61
+ @content = content
62
62
  @created_at = created_at
63
63
  @deleted_at = deleted_at
64
64
  @updated_at = updated_at
@@ -5,44 +5,75 @@
5
5
 
6
6
  require 'sorbet-runtime'
7
7
  require 'faraday'
8
- require_relative '../shared/offerstatusenum'
9
8
 
10
9
  module StackOne
11
10
  module Shared
11
+ # OfferValue - The status of the offer.
12
+ class OfferValue < T::Enum
13
+ enums do
14
+ PENDING = new('pending')
15
+ RETRACTED = new('retracted')
16
+ ACCEPTED = new('accepted')
17
+ REJECTED = new('rejected')
18
+ CREATED = new('created')
19
+ APPROVED = new('approved')
20
+ NOT_APPROVED = new('not_approved')
21
+ UNMAPPED_VALUE = new('unmapped_value')
22
+ end
23
+ end
12
24
 
13
- class Offer < ::StackOne::Utils::FieldAugmented
25
+
26
+
27
+ class OfferOfferStatus < ::StackOne::Utils::FieldAugmented
14
28
  extend T::Sig
15
29
 
30
+ # The source value of the offer status.
31
+ field :source_value, T.nilable(Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
32
+ # The status of the offer.
33
+ field :value, T.nilable(Shared::OfferValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::OfferValue, true) } }
16
34
 
17
- field :application_id, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('application_id') } }
18
35
 
19
- field :id, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
36
+ sig { params(source_value: T.nilable(Object), value: T.nilable(Shared::OfferValue)).void }
37
+ def initialize(source_value: nil, value: nil)
38
+ @source_value = source_value
39
+ @value = value
40
+ end
41
+ end
20
42
 
21
- field :offer_status, Shared::OfferStatusEnum, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('offer_status') } }
22
- # Date of creation
23
- field :start_date, DateTime, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('start_date'), 'decoder': Utils.datetime_from_iso_format(false) } }
43
+
44
+ class Offer < ::StackOne::Utils::FieldAugmented
45
+ extend T::Sig
46
+
47
+
48
+ field :application_id, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('application_id') } }
24
49
  # Date of creation
25
50
  field :created_at, T.nilable(DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
26
51
 
27
52
  field :currency, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('currency') } }
28
53
 
54
+ field :id, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
55
+
29
56
  field :offer_history, T.nilable(T::Array[Shared::OfferHistory]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('offer_history') } }
30
57
 
58
+ field :offer_status, T.nilable(Shared::OfferOfferStatus), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('offer_status') } }
59
+
31
60
  field :salary, T.nilable(Float), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('salary') } }
61
+ # Date of creation
62
+ field :start_date, T.nilable(DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('start_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
32
63
  # Date of last update
33
64
  field :updated_at, T.nilable(DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
34
65
 
35
66
 
36
- sig { params(application_id: String, id: String, offer_status: Shared::OfferStatusEnum, start_date: DateTime, created_at: T.nilable(DateTime), currency: T.nilable(String), offer_history: T.nilable(T::Array[Shared::OfferHistory]), salary: T.nilable(Float), updated_at: T.nilable(DateTime)).void }
37
- def initialize(application_id: nil, id: nil, offer_status: nil, start_date: nil, created_at: nil, currency: nil, offer_history: nil, salary: nil, updated_at: nil)
67
+ sig { params(application_id: T.nilable(String), created_at: T.nilable(DateTime), currency: T.nilable(String), id: T.nilable(String), offer_history: T.nilable(T::Array[Shared::OfferHistory]), offer_status: T.nilable(Shared::OfferOfferStatus), salary: T.nilable(Float), start_date: T.nilable(DateTime), updated_at: T.nilable(DateTime)).void }
68
+ def initialize(application_id: nil, created_at: nil, currency: nil, id: nil, offer_history: nil, offer_status: nil, salary: nil, start_date: nil, updated_at: nil)
38
69
  @application_id = application_id
39
- @id = id
40
- @offer_status = offer_status
41
- @start_date = start_date
42
70
  @created_at = created_at
43
71
  @currency = currency
72
+ @id = id
44
73
  @offer_history = offer_history
74
+ @offer_status = offer_status
45
75
  @salary = salary
76
+ @start_date = start_date
46
77
  @updated_at = updated_at
47
78
  end
48
79
  end
@@ -12,24 +12,24 @@ module StackOne
12
12
  class OfferHistory < ::StackOne::Utils::FieldAugmented
13
13
  extend T::Sig
14
14
 
15
- # Start Date of the offer
16
- field :start_date, DateTime, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('start_date'), 'decoder': Utils.datetime_from_iso_format(false) } }
17
15
  # Date of creation
18
16
  field :created_at, T.nilable(DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
19
17
 
20
18
  field :currency, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('currency') } }
21
19
 
22
20
  field :salary, T.nilable(Float), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('salary') } }
21
+ # Start Date of the offer
22
+ field :start_date, T.nilable(DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('start_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
23
23
  # Date of last update
24
24
  field :updated_at, T.nilable(DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
25
25
 
26
26
 
27
- sig { params(start_date: DateTime, created_at: T.nilable(DateTime), currency: T.nilable(String), salary: T.nilable(Float), updated_at: T.nilable(DateTime)).void }
28
- def initialize(start_date: nil, created_at: nil, currency: nil, salary: nil, updated_at: nil)
29
- @start_date = start_date
27
+ sig { params(created_at: T.nilable(DateTime), currency: T.nilable(String), salary: T.nilable(Float), start_date: T.nilable(DateTime), updated_at: T.nilable(DateTime)).void }
28
+ def initialize(created_at: nil, currency: nil, salary: nil, start_date: nil, updated_at: nil)
30
29
  @created_at = created_at
31
30
  @currency = currency
32
31
  @salary = salary
32
+ @start_date = start_date
33
33
  @updated_at = updated_at
34
34
  end
35
35
  end
@@ -13,10 +13,10 @@ module StackOne
13
13
  extend T::Sig
14
14
 
15
15
 
16
- field :body, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('body') } }
16
+ field :body, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('body') } }
17
17
 
18
18
 
19
- sig { params(body: String).void }
19
+ sig { params(body: T.nilable(String)).void }
20
20
  def initialize(body: nil)
21
21
  @body = body
22
22
  end
@@ -43,12 +43,12 @@ module StackOne
43
43
  extend T::Sig
44
44
 
45
45
 
46
- field :source_value, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
46
+ field :source_value, T.nilable(Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
47
47
 
48
- field :value, Shared::PushMessagesValue, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::PushMessagesValue, false) } }
48
+ field :value, T.nilable(Shared::PushMessagesValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::PushMessagesValue, true) } }
49
49
 
50
50
 
51
- sig { params(source_value: String, value: Shared::PushMessagesValue).void }
51
+ sig { params(source_value: T.nilable(Object), value: T.nilable(Shared::PushMessagesValue)).void }
52
52
  def initialize(source_value: nil, value: nil)
53
53
  @source_value = source_value
54
54
  @value = value
@@ -0,0 +1,73 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'sorbet-runtime'
7
+ require 'faraday'
8
+
9
+ module StackOne
10
+ module Shared
11
+ # QuestionValue - The type of the questions.
12
+ class QuestionValue < T::Enum
13
+ enums do
14
+ SHORT_TEXT = new('short_text')
15
+ LONG_TEXT = new('long_text')
16
+ ATTACHMENT = new('attachment')
17
+ MULTI_SELECT = new('multi_select')
18
+ SINGLE_SELECT = new('single_select')
19
+ BOOLEAN = new('boolean')
20
+ NUMBER = new('number')
21
+ DATE = new('date')
22
+ VIDEO = new('video')
23
+ end
24
+ end
25
+
26
+
27
+
28
+ class QuestionType < ::StackOne::Utils::FieldAugmented
29
+ extend T::Sig
30
+
31
+ # The source value of the questions type.
32
+ field :source_value, T.nilable(Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
33
+ # The type of the questions.
34
+ field :value, T.nilable(Shared::QuestionValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::QuestionValue, true) } }
35
+
36
+
37
+ sig { params(source_value: T.nilable(Object), value: T.nilable(Shared::QuestionValue)).void }
38
+ def initialize(source_value: nil, value: nil)
39
+ @source_value = source_value
40
+ @value = value
41
+ end
42
+ end
43
+
44
+
45
+ class Question < ::StackOne::Utils::FieldAugmented
46
+ extend T::Sig
47
+
48
+
49
+ field :id, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
50
+
51
+ field :multiple_choice_answers, T.nilable(T::Array[Shared::QuestionMultipleChoiceAnswers]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('multiple_choice_answers') } }
52
+
53
+ field :name, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('name') } }
54
+
55
+ field :required, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('required') } }
56
+
57
+ field :text, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('text') } }
58
+
59
+ field :type, T.nilable(Shared::QuestionType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('type') } }
60
+
61
+
62
+ sig { params(id: T.nilable(String), multiple_choice_answers: T.nilable(T::Array[Shared::QuestionMultipleChoiceAnswers]), name: T.nilable(String), required: T.nilable(T::Boolean), text: T.nilable(String), type: T.nilable(Shared::QuestionType)).void }
63
+ def initialize(id: nil, multiple_choice_answers: nil, name: nil, required: nil, text: nil, type: nil)
64
+ @id = id
65
+ @multiple_choice_answers = multiple_choice_answers
66
+ @name = name
67
+ @required = required
68
+ @text = text
69
+ @type = type
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,28 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'sorbet-runtime'
7
+ require 'faraday'
8
+
9
+ module StackOne
10
+ module Shared
11
+
12
+ class QuestionMultipleChoiceAnswers < ::StackOne::Utils::FieldAugmented
13
+ extend T::Sig
14
+
15
+
16
+ field :id, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
17
+
18
+ field :text, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('text') } }
19
+
20
+
21
+ sig { params(id: T.nilable(String), text: T.nilable(String)).void }
22
+ def initialize(id: nil, text: nil)
23
+ @id = id
24
+ @text = text
25
+ end
26
+ end
27
+ end
28
+ end
@@ -13,12 +13,12 @@ module StackOne
13
13
  extend T::Sig
14
14
 
15
15
 
16
- field :answers, T::Array[Shared::Answer], { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('answers') } }
16
+ field :answers, T.nilable(T::Array[Shared::Answer]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('answers') } }
17
17
  # Unique identifier of the questionnaire
18
18
  field :id, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
19
19
 
20
20
 
21
- sig { params(answers: T::Array[Shared::Answer], id: T.nilable(String)).void }
21
+ sig { params(answers: T.nilable(T::Array[Shared::Answer]), id: T.nilable(String)).void }
22
22
  def initialize(answers: nil, id: nil)
23
23
  @answers = answers
24
24
  @id = id