lib/wolf_core/application/integrations/jobseeker_api_operations.rb
module WolfCore module Integrations module JobseekerApiOperations include WolfCore::HttpOperations def fetch_jobseeker!(wolf_token:, jobseeker_id:, tenant:, wolf_platform_url:, error_message:) response = safe_http_get( headers: { 'Authorization' => "Bearer #{wolf_token}" }, url: "#{wolf_platform_url}/api/v2/jobseekers/#{jobseeker_id}", query: { tenant: tenant }, error_message: error_message, ) response_body = response.body response_body.dig('data', 'table', 'jobseeker') end def fetch_jobseeker(wolf_token:, jobseeker_id:, tenant:, wolf_platform_url:) response = http_get( headers: { 'Authorization' => "Bearer #{wolf_token}" }, url: "#{wolf_platform_url}/api/v2/jobseekers/#{jobseeker_id}", query: { tenant: tenant }, ) response_body = response.body return unless response_body.instance_of?(Hash) response_body.dig('data', 'table', 'jobseeker') end def create_jobseeker!(wolf_token:, jobseeker:, tenant:, wolf_platform_url:, error_message:) safe_http_post( headers: { 'Authorization' => "Bearer #{wolf_token}" }, query: { tenant: tenant }, url: "#{wolf_platform_url}/api/v2/jobseekers", body: jobseeker, error_message: error_message, ) end def create_jobseeker(wolf_token:, jobseeker:, tenant:, wolf_platform_url:) http_post( headers: { 'Authorization' => "Bearer #{wolf_token}" }, query: { tenant: tenant }, url: "#{wolf_platform_url}/api/v2/jobseekers", body: jobseeker ) end end end end