# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. # typed: true # frozen_string_literal: true require 'sorbet-runtime' require 'faraday' require_relative '../shared/jobstatusenum' module StackOne module Shared class Confidential < T::Enum enums do TRUE = new('true') FALSE = new('false') end end class Job < StackOne::Utils::FieldAugmented extend T::Sig field :code, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('code') } } field :company_id, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('company_id') } } # Date of creation field :created_at, DateTime, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(false) } } field :department_ids, T::Array[String], { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('department_ids') } } field :id, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } } field :job_status, Shared::JobStatusEnum, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('job_status') } } field :location_ids, T::Array[String], { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('location_ids') } } field :title, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('title') } } # Date of last update field :updated_at, DateTime, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(false) } } field :confidential, T.nilable(Shared::Confidential), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('confidential'), 'decoder': Utils.enum_from_string(Shared::Confidential, true) } } field :hiring_team, T.nilable(T::Array[Shared::HiringTeam]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('hiring_team') } } sig { params(code: String, company_id: String, created_at: DateTime, department_ids: T::Array[String], id: String, job_status: Shared::JobStatusEnum, location_ids: T::Array[String], title: String, updated_at: DateTime, confidential: T.nilable(Shared::Confidential), hiring_team: T.nilable(T::Array[Shared::HiringTeam])).void } def initialize(code: nil, company_id: nil, created_at: nil, department_ids: nil, id: nil, job_status: nil, location_ids: nil, title: nil, updated_at: nil, confidential: nil, hiring_team: nil) @code = code @company_id = company_id @created_at = created_at @department_ids = department_ids @id = id @job_status = job_status @location_ids = location_ids @title = title @updated_at = updated_at @confidential = confidential @hiring_team = hiring_team end end end end