stackone_client 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/stackone/accounts.rb +224 -0
- data/lib/stackone/ats.rb +1289 -0
- data/lib/stackone/connect_sessions.rb +100 -0
- data/lib/stackone/connectors.rb +98 -0
- data/lib/stackone/crm.rb +323 -0
- data/lib/stackone/hris.rb +682 -0
- data/lib/stackone/marketing.rb +584 -0
- data/lib/stackone/models/operations/ats_create_application.rb +53 -0
- data/lib/stackone/models/operations/ats_create_candidate.rb +53 -0
- data/lib/stackone/models/operations/ats_create_candidate_note.rb +56 -0
- data/lib/stackone/models/operations/ats_create_offer.rb +53 -0
- data/lib/stackone/models/operations/ats_get_application.rb +88 -0
- data/lib/stackone/models/operations/ats_get_application_offer.rb +91 -0
- data/lib/stackone/models/operations/ats_get_application_scorecard.rb +91 -0
- data/lib/stackone/models/operations/ats_get_candidate.rb +88 -0
- data/lib/stackone/models/operations/ats_get_candidate_note.rb +91 -0
- data/lib/stackone/models/operations/ats_get_department.rb +88 -0
- data/lib/stackone/models/operations/ats_get_interview.rb +88 -0
- data/lib/stackone/models/operations/ats_get_interview_stage.rb +88 -0
- data/lib/stackone/models/operations/ats_get_job.rb +88 -0
- data/lib/stackone/models/operations/ats_get_job_posting.rb +91 -0
- data/lib/stackone/models/operations/ats_get_location.rb +88 -0
- data/lib/stackone/models/operations/ats_get_offer.rb +88 -0
- data/lib/stackone/models/operations/ats_get_rejected_reason.rb +88 -0
- data/lib/stackone/models/operations/ats_get_user.rb +88 -0
- data/lib/stackone/models/operations/ats_list_application_scorecards.rb +88 -0
- data/lib/stackone/models/operations/ats_list_applications.rb +85 -0
- data/lib/stackone/models/operations/ats_list_applications_offers.rb +88 -0
- data/lib/stackone/models/operations/ats_list_candidate_notes.rb +88 -0
- data/lib/stackone/models/operations/ats_list_candidates.rb +85 -0
- data/lib/stackone/models/operations/ats_list_departments.rb +85 -0
- data/lib/stackone/models/operations/ats_list_interview_stages.rb +85 -0
- data/lib/stackone/models/operations/ats_list_interviews.rb +85 -0
- data/lib/stackone/models/operations/ats_list_job_postings.rb +88 -0
- data/lib/stackone/models/operations/ats_list_jobs.rb +85 -0
- data/lib/stackone/models/operations/ats_list_locations.rb +85 -0
- data/lib/stackone/models/operations/ats_list_offers.rb +85 -0
- data/lib/stackone/models/operations/ats_list_rejected_reasons.rb +85 -0
- data/lib/stackone/models/operations/ats_list_users.rb +85 -0
- data/lib/stackone/models/operations/ats_update_application.rb +56 -0
- data/lib/stackone/models/operations/ats_update_candidate.rb +56 -0
- data/lib/stackone/models/operations/crm_create_contact.rb +53 -0
- data/lib/stackone/models/operations/crm_get_account.rb +88 -0
- data/lib/stackone/models/operations/crm_get_contact.rb +88 -0
- data/lib/stackone/models/operations/crm_get_list.rb +88 -0
- data/lib/stackone/models/operations/crm_list_accounts.rb +85 -0
- data/lib/stackone/models/operations/crm_list_contacts.rb +85 -0
- data/lib/stackone/models/operations/crm_list_lists.rb +85 -0
- data/lib/stackone/models/operations/crm_update_contact.rb +56 -0
- data/lib/stackone/models/operations/hris_create_employee.rb +53 -0
- data/lib/stackone/models/operations/hris_create_employee_time_off_request.rb +56 -0
- data/lib/stackone/models/operations/hris_create_time_off_request.rb +53 -0
- data/lib/stackone/models/operations/hris_get_company.rb +88 -0
- data/lib/stackone/models/operations/hris_get_employee.rb +94 -0
- data/lib/stackone/models/operations/hris_get_employees_time_off_request.rb +91 -0
- data/lib/stackone/models/operations/hris_get_employment.rb +88 -0
- data/lib/stackone/models/operations/hris_get_location.rb +88 -0
- data/lib/stackone/models/operations/hris_get_time_off_request.rb +88 -0
- data/lib/stackone/models/operations/hris_list_companies.rb +85 -0
- data/lib/stackone/models/operations/hris_list_employee_time_off_requests.rb +88 -0
- data/lib/stackone/models/operations/hris_list_employees.rb +91 -0
- data/lib/stackone/models/operations/hris_list_employments.rb +85 -0
- data/lib/stackone/models/operations/hris_list_locations.rb +85 -0
- data/lib/stackone/models/operations/hris_list_time_off_requests.rb +85 -0
- data/lib/stackone/models/operations/hris_update_employee.rb +56 -0
- data/lib/stackone/models/operations/hris_update_time_off_request.rb +56 -0
- data/lib/stackone/models/operations/marketing_create_email_template.rb +53 -0
- data/lib/stackone/models/operations/marketing_create_omni_channel_template.rb +53 -0
- data/lib/stackone/models/operations/marketing_create_push_template.rb +53 -0
- data/lib/stackone/models/operations/marketing_get_campaign.rb +88 -0
- data/lib/stackone/models/operations/marketing_get_email_template.rb +88 -0
- data/lib/stackone/models/operations/marketing_get_omni_channel_template.rb +88 -0
- data/lib/stackone/models/operations/marketing_get_push_template.rb +88 -0
- data/lib/stackone/models/operations/marketing_list_campaigns.rb +85 -0
- data/lib/stackone/models/operations/marketing_list_email_templates.rb +85 -0
- data/lib/stackone/models/operations/marketing_list_omni_channel_templates.rb +85 -0
- data/lib/stackone/models/operations/marketing_list_push_templates.rb +85 -0
- data/lib/stackone/models/operations/marketing_update_email_template.rb +56 -0
- data/lib/stackone/models/operations/marketing_update_omni_channel_template.rb +56 -0
- data/lib/stackone/models/operations/marketing_update_push_template.rb +56 -0
- data/lib/stackone/models/operations/stackone_authenticate_connect_session.rb +35 -0
- data/lib/stackone/models/operations/stackone_create_connect_session.rb +35 -0
- data/lib/stackone/models/operations/stackone_delete_account.rb +49 -0
- data/lib/stackone/models/operations/stackone_get_account.rb +49 -0
- data/lib/stackone/models/operations/stackone_get_account_meta_info.rb +49 -0
- data/lib/stackone/models/operations/stackone_get_connector_meta.rb +52 -0
- data/lib/stackone/models/operations/stackone_list_connectors_meta.rb +48 -0
- data/lib/stackone/models/operations/stackone_list_linked_accounts.rb +51 -0
- data/lib/stackone/models/operations/stackone_proxy_request.rb +49 -0
- data/lib/stackone/models/operations/stackone_update_account.rb +53 -0
- data/lib/stackone/models/shared/account.rb +55 -0
- data/lib/stackone/models/shared/accountaddress.rb +342 -0
- data/lib/stackone/models/shared/accountresult.rb +29 -0
- data/lib/stackone/models/shared/accountspaginated.rb +34 -0
- data/lib/stackone/models/shared/answer.rb +64 -0
- data/lib/stackone/models/shared/application.rb +75 -0
- data/lib/stackone/models/shared/applicationattachment.rb +63 -0
- data/lib/stackone/models/shared/applicationcandidate.rb +31 -0
- data/lib/stackone/models/shared/applicationresult.rb +29 -0
- data/lib/stackone/models/shared/applicationspaginated.rb +34 -0
- data/lib/stackone/models/shared/applicationstatusenumapimodel.rb +50 -0
- data/lib/stackone/models/shared/atscreateapplicationrequestdto.rb +45 -0
- data/lib/stackone/models/shared/atscreatecandidaterequestdto.rb +46 -0
- data/lib/stackone/models/shared/atscreatenotesrequestdto.rb +57 -0
- data/lib/stackone/models/shared/atscreateofferrequestdto.rb +41 -0
- data/lib/stackone/models/shared/atslocation.rb +28 -0
- data/lib/stackone/models/shared/atslocationresult.rb +29 -0
- data/lib/stackone/models/shared/atslocationspaginated.rb +34 -0
- data/lib/stackone/models/shared/atsupdateapplicationrequestdto.rb +48 -0
- data/lib/stackone/models/shared/atsupdatecandidatesrequestdto.rb +49 -0
- data/lib/stackone/models/shared/attachmenttype.rb +40 -0
- data/lib/stackone/models/shared/campaign.rb +120 -0
- data/lib/stackone/models/shared/campaignresult.rb +29 -0
- data/lib/stackone/models/shared/campaignspaginated.rb +34 -0
- data/lib/stackone/models/shared/candidate.rb +64 -0
- data/lib/stackone/models/shared/candidateemail.rb +28 -0
- data/lib/stackone/models/shared/candidateresult.rb +29 -0
- data/lib/stackone/models/shared/candidatespaginated.rb +34 -0
- data/lib/stackone/models/shared/channelsenum.rb +42 -0
- data/lib/stackone/models/shared/companiespaginated.rb +34 -0
- data/lib/stackone/models/shared/company.rb +37 -0
- data/lib/stackone/models/shared/companyresult.rb +29 -0
- data/lib/stackone/models/shared/compensation.rb +149 -0
- data/lib/stackone/models/shared/connectorsmeta.rb +73 -0
- data/lib/stackone/models/shared/connectsession.rb +68 -0
- data/lib/stackone/models/shared/connectsessionauthenticate.rb +25 -0
- data/lib/stackone/models/shared/connectsessioncreate.rb +72 -0
- data/lib/stackone/models/shared/connectsessiontoken.rb +71 -0
- data/lib/stackone/models/shared/contact.rb +52 -0
- data/lib/stackone/models/shared/contactresult.rb +29 -0
- data/lib/stackone/models/shared/contactspaginated.rb +34 -0
- data/lib/stackone/models/shared/countrycodeenum.rb +284 -0
- data/lib/stackone/models/shared/createcandidatenoteresult.rb +31 -0
- data/lib/stackone/models/shared/createemployeeresult.rb +31 -0
- data/lib/stackone/models/shared/createofferresult.rb +31 -0
- data/lib/stackone/models/shared/createresult.rb +31 -0
- data/lib/stackone/models/shared/createtemplateresult.rb +31 -0
- data/lib/stackone/models/shared/createtimeoffresult.rb +31 -0
- data/lib/stackone/models/shared/crmcreatecontactrequestdto.rb +43 -0
- data/lib/stackone/models/shared/department.rb +28 -0
- data/lib/stackone/models/shared/departmentresult.rb +29 -0
- data/lib/stackone/models/shared/departmentspaginated.rb +34 -0
- data/lib/stackone/models/shared/emailmessages.rb +93 -0
- data/lib/stackone/models/shared/employee.rb +1035 -0
- data/lib/stackone/models/shared/employeecustomfields.rb +83 -0
- data/lib/stackone/models/shared/employeeresult.rb +29 -0
- data/lib/stackone/models/shared/employeespaginated.rb +34 -0
- data/lib/stackone/models/shared/employment.rb +191 -0
- data/lib/stackone/models/shared/employmentresult.rb +29 -0
- data/lib/stackone/models/shared/employmentspaginated.rb +34 -0
- data/lib/stackone/models/shared/field.rb +56 -0
- data/lib/stackone/models/shared/hiringteam.rb +37 -0
- data/lib/stackone/models/shared/hriscreateemployeerequestdto.rb +8638 -0
- data/lib/stackone/models/shared/hriscreatetimeoffrequestdto.rb +93 -0
- data/lib/stackone/models/shared/hrislocation.rb +361 -0
- data/lib/stackone/models/shared/hrislocationresult.rb +29 -0
- data/lib/stackone/models/shared/hrislocationspaginated.rb +34 -0
- data/lib/stackone/models/shared/interview.rb +91 -0
- data/lib/stackone/models/shared/interviewer.rb +37 -0
- data/lib/stackone/models/shared/interviewpart.rb +40 -0
- data/lib/stackone/models/shared/interviewspaginated.rb +34 -0
- data/lib/stackone/models/shared/interviewsresult.rb +29 -0
- data/lib/stackone/models/shared/interviewstage.rb +37 -0
- data/lib/stackone/models/shared/interviewstageresult.rb +29 -0
- data/lib/stackone/models/shared/interviewstagespaginated.rb +34 -0
- data/lib/stackone/models/shared/job.rb +65 -0
- data/lib/stackone/models/shared/jobposting.rb +182 -0
- data/lib/stackone/models/shared/jobpostingresult.rb +29 -0
- data/lib/stackone/models/shared/jobpostingspaginated.rb +34 -0
- data/lib/stackone/models/shared/jobresult.rb +29 -0
- data/lib/stackone/models/shared/jobspaginated.rb +34 -0
- data/lib/stackone/models/shared/jobstatusenum.rb +43 -0
- data/lib/stackone/models/shared/linkedaccount.rb +75 -0
- data/lib/stackone/models/shared/linkedaccountmeta.rb +54 -0
- data/lib/stackone/models/shared/list.rb +67 -0
- data/lib/stackone/models/shared/listresult.rb +29 -0
- data/lib/stackone/models/shared/listspaginated.rb +34 -0
- data/lib/stackone/models/shared/location.rb +28 -0
- data/lib/stackone/models/shared/marketingcreateemailtemplaterequestdto.rb +34 -0
- data/lib/stackone/models/shared/marketingcreatepushtemplaterequestdto.rb +34 -0
- data/lib/stackone/models/shared/marketingcreatetemplaterequestdto.rb +34 -0
- data/lib/stackone/models/shared/message.rb +50 -0
- data/lib/stackone/models/shared/note.rb +69 -0
- data/lib/stackone/models/shared/notecontentapimodel.rb +25 -0
- data/lib/stackone/models/shared/noteresult.rb +29 -0
- data/lib/stackone/models/shared/notespaginated.rb +34 -0
- data/lib/stackone/models/shared/offer.rb +50 -0
- data/lib/stackone/models/shared/offerhistory.rb +37 -0
- data/lib/stackone/models/shared/offerspaginated.rb +34 -0
- data/lib/stackone/models/shared/offersresult.rb +29 -0
- data/lib/stackone/models/shared/offerstatusenum.rb +43 -0
- data/lib/stackone/models/shared/patchaccountdto.rb +21 -0
- data/lib/stackone/models/shared/proxyrequestbody.rb +69 -0
- data/lib/stackone/models/shared/pushmessages.rb +81 -0
- data/lib/stackone/models/shared/questionnaire.rb +28 -0
- data/lib/stackone/models/shared/rawresponse.rb +44 -0
- data/lib/stackone/models/shared/rejectedreason.rb +32 -0
- data/lib/stackone/models/shared/rejectedreasonresult.rb +29 -0
- data/lib/stackone/models/shared/rejectedreasonspaginated.rb +34 -0
- data/lib/stackone/models/shared/rejectedreasontypeenum.rb +40 -0
- data/lib/stackone/models/shared/resultlink.rb +28 -0
- data/lib/stackone/models/shared/scorecard.rb +65 -0
- data/lib/stackone/models/shared/scorecardsection.rb +31 -0
- data/lib/stackone/models/shared/scorecardspaginated.rb +34 -0
- data/lib/stackone/models/shared/security.rb +28 -0
- data/lib/stackone/models/shared/sociallink.rb +28 -0
- data/lib/stackone/models/shared/template.rb +37 -0
- data/lib/stackone/models/shared/templateresult.rb +29 -0
- data/lib/stackone/models/shared/templatespaginated.rb +34 -0
- data/lib/stackone/models/shared/timeoff.rb +102 -0
- data/lib/stackone/models/shared/timeoffpaginated.rb +34 -0
- data/lib/stackone/models/shared/timeoffresult.rb +29 -0
- data/lib/stackone/models/shared/updateresult.rb +31 -0
- data/lib/stackone/models/shared/user.rb +40 -0
- data/lib/stackone/models/shared/userresult.rb +29 -0
- data/lib/stackone/models/shared/userspaginated.rb +34 -0
- data/lib/stackone/proxy.rb +59 -0
- data/lib/stackone/sdk.rb +87 -0
- data/lib/stackone/sdkconfiguration.rb +53 -0
- data/lib/stackone/utils/metadata_fields.rb +154 -0
- data/lib/stackone/utils/utils.rb +774 -0
- data/lib/stackone_client.rb +229 -0
- metadata +393 -0
@@ -0,0 +1,37 @@
|
|
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 Template < StackOne::Utils::FieldAugmented
|
13
|
+
extend T::Sig
|
14
|
+
|
15
|
+
# Date of creation
|
16
|
+
field :created_at, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
|
17
|
+
|
18
|
+
field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
|
19
|
+
|
20
|
+
field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
21
|
+
|
22
|
+
field :tags, T.nilable(T::Array[String]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('tags') } }
|
23
|
+
# Date of last update
|
24
|
+
field :updated_at, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
|
25
|
+
|
26
|
+
|
27
|
+
sig { params(created_at: T.nilable(DateTime), id: T.nilable(String), name: T.nilable(String), tags: T.nilable(T::Array[String]), updated_at: T.nilable(DateTime)).void }
|
28
|
+
def initialize(created_at: nil, id: nil, name: nil, tags: nil, updated_at: nil)
|
29
|
+
@created_at = created_at
|
30
|
+
@id = id
|
31
|
+
@name = name
|
32
|
+
@tags = tags
|
33
|
+
@updated_at = updated_at
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,29 @@
|
|
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
|
+
require_relative '../shared/template'
|
9
|
+
|
10
|
+
module StackOne
|
11
|
+
module Shared
|
12
|
+
|
13
|
+
class TemplateResult < StackOne::Utils::FieldAugmented
|
14
|
+
extend T::Sig
|
15
|
+
|
16
|
+
|
17
|
+
field :data, Shared::Template, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('data') } }
|
18
|
+
|
19
|
+
field :raw, T.nilable(T::Array[Shared::RawResponse]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('raw') } }
|
20
|
+
|
21
|
+
|
22
|
+
sig { params(data: Shared::Template, raw: T.nilable(T::Array[Shared::RawResponse])).void }
|
23
|
+
def initialize(data: nil, raw: nil)
|
24
|
+
@data = data
|
25
|
+
@raw = raw
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -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 TemplatesPaginated < StackOne::Utils::FieldAugmented
|
13
|
+
extend T::Sig
|
14
|
+
|
15
|
+
|
16
|
+
field :data, T::Array[Shared::Template], { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('data') } }
|
17
|
+
|
18
|
+
field :next_, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('next') } }
|
19
|
+
# @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
|
20
|
+
field :next_page, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('next_page') } }
|
21
|
+
|
22
|
+
field :raw, T.nilable(T::Array[Shared::RawResponse]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('raw') } }
|
23
|
+
|
24
|
+
|
25
|
+
sig { params(data: T::Array[Shared::Template], next_: T.nilable(String), next_page: T.nilable(String), raw: T.nilable(T::Array[Shared::RawResponse])).void }
|
26
|
+
def initialize(data: nil, next_: nil, next_page: nil, raw: nil)
|
27
|
+
@data = data
|
28
|
+
@next_ = next_
|
29
|
+
@next_page = next_page
|
30
|
+
@raw = raw
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,102 @@
|
|
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 TimeOffValue < T::Enum
|
13
|
+
enums do
|
14
|
+
APPROVED = new('approved')
|
15
|
+
UNMAPPED_VALUE = new('unmapped_value')
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
|
20
|
+
# The status of the time off request
|
21
|
+
class TimeOffStatus < StackOne::Utils::FieldAugmented
|
22
|
+
extend T::Sig
|
23
|
+
|
24
|
+
|
25
|
+
field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
|
26
|
+
|
27
|
+
field :value, Shared::TimeOffValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::TimeOffValue, false) } }
|
28
|
+
|
29
|
+
|
30
|
+
sig { params(source_value: String, value: Shared::TimeOffValue).void }
|
31
|
+
def initialize(source_value: nil, value: nil)
|
32
|
+
@source_value = source_value
|
33
|
+
@value = value
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
|
38
|
+
class TimeOffSchemasValue < T::Enum
|
39
|
+
enums do
|
40
|
+
SICK = new('sick')
|
41
|
+
UNMAPPED_VALUE = new('unmapped_value')
|
42
|
+
VACATION = new('vacation')
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
|
47
|
+
# The type of the time off request
|
48
|
+
class TimeOffType < StackOne::Utils::FieldAugmented
|
49
|
+
extend T::Sig
|
50
|
+
|
51
|
+
|
52
|
+
field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
|
53
|
+
|
54
|
+
field :value, Shared::TimeOffSchemasValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::TimeOffSchemasValue, false) } }
|
55
|
+
|
56
|
+
|
57
|
+
sig { params(source_value: String, value: Shared::TimeOffSchemasValue).void }
|
58
|
+
def initialize(source_value: nil, value: nil)
|
59
|
+
@source_value = source_value
|
60
|
+
@value = value
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
|
65
|
+
class TimeOff < StackOne::Utils::FieldAugmented
|
66
|
+
extend T::Sig
|
67
|
+
|
68
|
+
# The approver ID
|
69
|
+
field :approver_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('approver_id') } }
|
70
|
+
# The created date of the time off request
|
71
|
+
field :created_date, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('created_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
|
72
|
+
# The employee ID
|
73
|
+
field :employee_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('employee_id') } }
|
74
|
+
# The end date of the time off request
|
75
|
+
field :end_date, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('end_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
|
76
|
+
# The unique ID of the time off request
|
77
|
+
field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
|
78
|
+
# The start date of the time off request
|
79
|
+
field :start_date, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('start_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
|
80
|
+
# The status of the time off request
|
81
|
+
field :status, T.nilable(Shared::TimeOffStatus), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('status') } }
|
82
|
+
# The type of the time off request
|
83
|
+
field :type, T.nilable(Shared::TimeOffType), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('type') } }
|
84
|
+
# The updated date of the time off request
|
85
|
+
field :updated_date, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('updated_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
|
86
|
+
|
87
|
+
|
88
|
+
sig { params(approver_id: T.nilable(String), created_date: T.nilable(DateTime), employee_id: T.nilable(String), end_date: T.nilable(DateTime), id: T.nilable(String), start_date: T.nilable(DateTime), status: T.nilable(Shared::TimeOffStatus), type: T.nilable(Shared::TimeOffType), updated_date: T.nilable(DateTime)).void }
|
89
|
+
def initialize(approver_id: nil, created_date: nil, employee_id: nil, end_date: nil, id: nil, start_date: nil, status: nil, type: nil, updated_date: nil)
|
90
|
+
@approver_id = approver_id
|
91
|
+
@created_date = created_date
|
92
|
+
@employee_id = employee_id
|
93
|
+
@end_date = end_date
|
94
|
+
@id = id
|
95
|
+
@start_date = start_date
|
96
|
+
@status = status
|
97
|
+
@type = type
|
98
|
+
@updated_date = updated_date
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
@@ -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 TimeOffPaginated < StackOne::Utils::FieldAugmented
|
13
|
+
extend T::Sig
|
14
|
+
|
15
|
+
|
16
|
+
field :data, T::Array[Shared::TimeOff], { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('data') } }
|
17
|
+
|
18
|
+
field :next_, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('next') } }
|
19
|
+
# @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
|
20
|
+
field :next_page, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('next_page') } }
|
21
|
+
|
22
|
+
field :raw, T.nilable(T::Array[Shared::RawResponse]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('raw') } }
|
23
|
+
|
24
|
+
|
25
|
+
sig { params(data: T::Array[Shared::TimeOff], next_: T.nilable(String), next_page: T.nilable(String), raw: T.nilable(T::Array[Shared::RawResponse])).void }
|
26
|
+
def initialize(data: nil, next_: nil, next_page: nil, raw: nil)
|
27
|
+
@data = data
|
28
|
+
@next_ = next_
|
29
|
+
@next_page = next_page
|
30
|
+
@raw = raw
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,29 @@
|
|
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
|
+
require_relative '../shared/timeoff'
|
9
|
+
|
10
|
+
module StackOne
|
11
|
+
module Shared
|
12
|
+
|
13
|
+
class TimeOffResult < StackOne::Utils::FieldAugmented
|
14
|
+
extend T::Sig
|
15
|
+
|
16
|
+
|
17
|
+
field :data, Shared::TimeOff, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('data') } }
|
18
|
+
|
19
|
+
field :raw, T.nilable(T::Array[Shared::RawResponse]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('raw') } }
|
20
|
+
|
21
|
+
|
22
|
+
sig { params(data: Shared::TimeOff, raw: T.nilable(T::Array[Shared::RawResponse])).void }
|
23
|
+
def initialize(data: nil, raw: nil)
|
24
|
+
@data = data
|
25
|
+
@raw = raw
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,31 @@
|
|
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 UpdateResult < StackOne::Utils::FieldAugmented
|
13
|
+
extend T::Sig
|
14
|
+
|
15
|
+
|
16
|
+
field :message, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('message') } }
|
17
|
+
|
18
|
+
field :status_code, Float, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('statusCode') } }
|
19
|
+
|
20
|
+
field :timestamp, DateTime, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('timestamp'), 'decoder': Utils.datetime_from_iso_format(false) } }
|
21
|
+
|
22
|
+
|
23
|
+
sig { params(message: String, status_code: Float, timestamp: DateTime).void }
|
24
|
+
def initialize(message: nil, status_code: nil, timestamp: nil)
|
25
|
+
@message = message
|
26
|
+
@status_code = status_code
|
27
|
+
@timestamp = timestamp
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,40 @@
|
|
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 User < StackOne::Utils::FieldAugmented
|
13
|
+
extend T::Sig
|
14
|
+
|
15
|
+
|
16
|
+
field :email, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('email') } }
|
17
|
+
|
18
|
+
field :first_name, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('first_name') } }
|
19
|
+
|
20
|
+
field :id, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
|
21
|
+
|
22
|
+
field :last_name, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('last_name') } }
|
23
|
+
|
24
|
+
field :name, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
25
|
+
|
26
|
+
field :phone, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('phone') } }
|
27
|
+
|
28
|
+
|
29
|
+
sig { params(email: String, first_name: String, id: String, last_name: String, name: String, phone: String).void }
|
30
|
+
def initialize(email: nil, first_name: nil, id: nil, last_name: nil, name: nil, phone: nil)
|
31
|
+
@email = email
|
32
|
+
@first_name = first_name
|
33
|
+
@id = id
|
34
|
+
@last_name = last_name
|
35
|
+
@name = name
|
36
|
+
@phone = phone
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,29 @@
|
|
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
|
+
require_relative '../shared/user'
|
9
|
+
|
10
|
+
module StackOne
|
11
|
+
module Shared
|
12
|
+
|
13
|
+
class UserResult < StackOne::Utils::FieldAugmented
|
14
|
+
extend T::Sig
|
15
|
+
|
16
|
+
|
17
|
+
field :data, Shared::User, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('data') } }
|
18
|
+
|
19
|
+
field :raw, T::Array[Shared::RawResponse], { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('raw') } }
|
20
|
+
|
21
|
+
|
22
|
+
sig { params(data: Shared::User, raw: T::Array[Shared::RawResponse]).void }
|
23
|
+
def initialize(data: nil, raw: nil)
|
24
|
+
@data = data
|
25
|
+
@raw = raw
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -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 UsersPaginated < StackOne::Utils::FieldAugmented
|
13
|
+
extend T::Sig
|
14
|
+
|
15
|
+
|
16
|
+
field :data, T::Array[Shared::User], { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('data') } }
|
17
|
+
|
18
|
+
field :raw, T::Array[Shared::RawResponse], { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('raw') } }
|
19
|
+
|
20
|
+
field :next_, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('next') } }
|
21
|
+
# @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
|
22
|
+
field :next_page, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('next_page') } }
|
23
|
+
|
24
|
+
|
25
|
+
sig { params(data: T::Array[Shared::User], raw: T::Array[Shared::RawResponse], next_: T.nilable(String), next_page: T.nilable(String)).void }
|
26
|
+
def initialize(data: nil, raw: nil, next_: nil, next_page: nil)
|
27
|
+
@data = data
|
28
|
+
@raw = raw
|
29
|
+
@next_ = next_
|
30
|
+
@next_page = next_page
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
require 'faraday'
|
7
|
+
require 'faraday/multipart'
|
8
|
+
require 'sorbet-runtime'
|
9
|
+
|
10
|
+
module StackOne
|
11
|
+
extend T::Sig
|
12
|
+
class Proxy
|
13
|
+
|
14
|
+
extend T::Sig
|
15
|
+
sig { params(sdk_config: SDKConfiguration).void }
|
16
|
+
def initialize(sdk_config)
|
17
|
+
@sdk_configuration = sdk_config
|
18
|
+
end
|
19
|
+
|
20
|
+
sig { params(proxy_request_body: Shared::ProxyRequestBody, x_account_id: String).returns(Utils::FieldAugmented) }
|
21
|
+
def proxy_request(proxy_request_body, x_account_id)
|
22
|
+
# proxy_request - Proxy Request
|
23
|
+
request = Operations::StackoneProxyRequestRequest.new(
|
24
|
+
|
25
|
+
proxy_request_body: proxy_request_body,
|
26
|
+
x_account_id: x_account_id
|
27
|
+
)
|
28
|
+
url, params = @sdk_configuration.get_server_details
|
29
|
+
base_url = Utils.template_url(url, params)
|
30
|
+
url = "#{base_url}/unified/proxy"
|
31
|
+
headers = Utils.get_headers(request)
|
32
|
+
req_content_type, data, form = Utils.serialize_request_body(request, :proxy_request_body, :json)
|
33
|
+
headers['content-type'] = req_content_type
|
34
|
+
raise StandardError, 'request body is required' if data.nil? && form.nil?
|
35
|
+
headers['Accept'] = '*/*'
|
36
|
+
headers['user-agent'] = @sdk_configuration.user_agent
|
37
|
+
|
38
|
+
r = @sdk_configuration.client.post(url) do |req|
|
39
|
+
req.headers = headers
|
40
|
+
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
|
41
|
+
if form
|
42
|
+
req.body = Utils.encode_form(form)
|
43
|
+
elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
|
44
|
+
req.body = URI.encode_www_form(data)
|
45
|
+
else
|
46
|
+
req.body = data
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
|
51
|
+
|
52
|
+
res = Operations::StackoneProxyRequestResponse.new(
|
53
|
+
status_code: r.status, content_type: content_type, raw_response: r
|
54
|
+
)
|
55
|
+
|
56
|
+
res
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
data/lib/stackone/sdk.rb
ADDED
@@ -0,0 +1,87 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
require 'faraday'
|
7
|
+
require 'faraday/multipart'
|
8
|
+
require 'sorbet-runtime'
|
9
|
+
module StackOne
|
10
|
+
extend T::Sig
|
11
|
+
|
12
|
+
class StackOne
|
13
|
+
extend T::Sig
|
14
|
+
|
15
|
+
attr_accessor :accounts, :connect_sessions, :connectors, :ats, :crm, :hris, :marketing, :proxy
|
16
|
+
|
17
|
+
attr_accessor :security, :language, :sdk_version, :gen_version
|
18
|
+
|
19
|
+
sig do
|
20
|
+
params(security: T.nilable(Shared::Security),
|
21
|
+
server_idx: Integer,
|
22
|
+
server_url: String,
|
23
|
+
url_params: T::Hash[Symbol, String],
|
24
|
+
client: Faraday::Request).void
|
25
|
+
end
|
26
|
+
def initialize(security: nil,
|
27
|
+
server_idx: nil,
|
28
|
+
server_url: nil,
|
29
|
+
url_params: nil,
|
30
|
+
client: nil)
|
31
|
+
|
32
|
+
## Instantiates the SDK configuring it with the provided parameters.
|
33
|
+
# @param [Shared::Security] security The security details required for authentication
|
34
|
+
# @param [Integer] server_idx The index of the server to use for all operations
|
35
|
+
# @param [String] server_url The server URL to use for all operations
|
36
|
+
# @param [Hash<Symbol, String>] url_params Parameters to optionally template the server URL with
|
37
|
+
# @param [Faraday::Request] client The faraday HTTP client to use for all operations
|
38
|
+
|
39
|
+
if client.nil?
|
40
|
+
client = Faraday.new(request: {
|
41
|
+
params_encoder: Faraday::FlatParamsEncoder
|
42
|
+
}) do |f|
|
43
|
+
f.request :multipart, {}
|
44
|
+
# f.response :logger
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
if !server_url.nil?
|
49
|
+
if !url_params.nil?
|
50
|
+
server_url = Utils.template_url(server_url, url_params)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
server_idx = 0 if server_idx.nil?
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
@sdk_configuration = SDKConfiguration.new(client, security, server_url, server_idx)
|
58
|
+
init_sdks
|
59
|
+
end
|
60
|
+
|
61
|
+
sig { params(params: T.nilable(T::Hash[Symbol, String])).void }
|
62
|
+
def config_server_url(params)
|
63
|
+
if !params.nil?
|
64
|
+
@server_url = Utils.template_url(@server_url, params)
|
65
|
+
end
|
66
|
+
init_sdks
|
67
|
+
end
|
68
|
+
|
69
|
+
sig { params(security: Shared::Security).void }
|
70
|
+
def config_security(security)
|
71
|
+
@security = security
|
72
|
+
@sdk_configuration.security = security
|
73
|
+
end
|
74
|
+
|
75
|
+
sig { void }
|
76
|
+
def init_sdks
|
77
|
+
@accounts = Accounts.new(@sdk_configuration)
|
78
|
+
@connect_sessions = ConnectSessions.new(@sdk_configuration)
|
79
|
+
@connectors = Connectors.new(@sdk_configuration)
|
80
|
+
@ats = Ats.new(@sdk_configuration)
|
81
|
+
@crm = Crm.new(@sdk_configuration)
|
82
|
+
@hris = Hris.new(@sdk_configuration)
|
83
|
+
@marketing = Marketing.new(@sdk_configuration)
|
84
|
+
@proxy = Proxy.new(@sdk_configuration)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
require 'faraday'
|
7
|
+
require 'faraday/multipart'
|
8
|
+
require 'sorbet-runtime'
|
9
|
+
|
10
|
+
module OpenApiSDK
|
11
|
+
extend T::Sig
|
12
|
+
|
13
|
+
|
14
|
+
SERVERS = [
|
15
|
+
'https://api.stackone.com',
|
16
|
+
].freeze
|
17
|
+
# Contains the list of servers available to the SDK
|
18
|
+
|
19
|
+
class SDKConfiguration < OpenApiSDK::Utils::FieldAugmented
|
20
|
+
extend T::Sig
|
21
|
+
|
22
|
+
field :client, T.nilable(Faraday::Connection)
|
23
|
+
field :security, Shared::Security
|
24
|
+
field :server_url, T.nilable(String)
|
25
|
+
field :server, T.nilable(String)
|
26
|
+
field :language, String
|
27
|
+
field :openapi_doc_version, String
|
28
|
+
field :sdk_version, String
|
29
|
+
field :gen_version, String
|
30
|
+
field :user_agent, String
|
31
|
+
|
32
|
+
|
33
|
+
sig { params(client: Faraday::Connection, security: T.nilable(Shared::Security), server_url: T.nilable(String), server_idx: T.nilable(Integer)).void }
|
34
|
+
def initialize(client, security, server_url, server_idx)
|
35
|
+
@client = client
|
36
|
+
@server_idx = server_idx.nil? ? 0 : server_idx
|
37
|
+
@language = 'ruby'
|
38
|
+
@openapi_doc_version = '1.0.0'
|
39
|
+
@sdk_version = '0.0.1'
|
40
|
+
@gen_version = '2.231.0'
|
41
|
+
@user_agent = 'speakeasy-sdk/ruby 0.0.1 2.231.0 1.0.0 stackone_client'
|
42
|
+
end
|
43
|
+
|
44
|
+
sig { returns([String, T::Hash[Symbol, String]]) }
|
45
|
+
def get_server_details
|
46
|
+
return [@server_url.delete_suffix('/'), {}] if !@server_url.nil?
|
47
|
+
@server_idx = 0 if @server_idx.nil?
|
48
|
+
|
49
|
+
|
50
|
+
[SERVERS[@server_idx], {}]
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|