module WolfCore::Integrations::JobseekerApiOperations
def create_jobseeker(wolf_token:, jobseeker:, tenant:, wolf_platform_url:)
def create_jobseeker(wolf_token:, jobseeker:, tenant:, wolf_platform_url:) parsed_http_post( headers: { "Authorization" => "Bearer #{wolf_token}" }, query: { tenant: tenant }, url: "#{wolf_platform_url}/api/v2/jobseekers", body: jobseeker ) end
def create_jobseeker!(wolf_token:, jobseeker:, tenant:, wolf_platform_url:, error_message:, error_data: nil)
def create_jobseeker!(wolf_token:, jobseeker:, tenant:, wolf_platform_url:, error_message:, error_data: nil) response = create_jobseeker( wolf_token: wolf_token, jobseeker: jobseeker, tenant: tenant, wolf_platform_url: wolf_platform_url ) error_data ||= {} validate_http_response(response: response, message: error_message, error_data: error_data.merge(jobseeker: jobseeker)) response end
def fetch_jobseeker(wolf_token:, jobseeker_id:, tenant:, wolf_platform_url:, query: nil)
def fetch_jobseeker(wolf_token:, jobseeker_id:, tenant:, wolf_platform_url:, query: nil) query ||= {} parsed_http_get( headers: { "Authorization" => "Bearer #{wolf_token}" }, url: "#{wolf_platform_url}/api/v2/jobseekers/#{jobseeker_id}", query: query.merge(tenant: tenant) ) end
def fetch_jobseeker!(wolf_token:, jobseeker_id:, tenant:, wolf_platform_url:, error_message:, query: nil, error_data: nil)
def fetch_jobseeker!(wolf_token:, jobseeker_id:, tenant:, wolf_platform_url:, error_message:, query: nil, error_data: nil) response = fetch_jobseeker( wolf_token: wolf_token, jobseeker_id: jobseeker_id, tenant: tenant, wolf_platform_url: wolf_platform_url, query: query ) error_data ||= {} validate_http_response(response: response, message: error_message, error_data: error_data.merge(jobseeker_id: jobseeker_id, query: query)) response.body.dig("data", "table", "jobseeker") end
def fetch_jobseeker_by_user_id!(wolf_token:, tenant:, wolf_platform_url:, user_id:)
def fetch_jobseeker_by_user_id!(wolf_token:, tenant:, wolf_platform_url:, user_id:) jobseekers = fetch_jobseekers!( wolf_token: wolf_token, tenant: tenant, wolf_platform_url: wolf_platform_url, query: { user_id: user_id } ) jobseekers.first end
def fetch_jobseekers(wolf_token:, tenant:, wolf_platform_url:, query: nil)
def fetch_jobseekers(wolf_token:, tenant:, wolf_platform_url:, query: nil) query ||= {} parsed_http_get( headers: { "Authorization" => "Bearer #{wolf_token}" }, url: "#{wolf_platform_url}/api/v2/jobseekers", query: query.merge(tenant: tenant) ) end
def fetch_jobseekers!(wolf_token:, tenant:, wolf_platform_url:, error_message:, query: nil, error_data: nil)
def fetch_jobseekers!(wolf_token:, tenant:, wolf_platform_url:, error_message:, query: nil, error_data: nil) response = fetch_jobseekers( wolf_token: wolf_token, tenant: tenant, wolf_platform_url: wolf_platform_url, query: query ) error_data ||= {} validate_http_response(response: response, message: error_message, error_data: error_data.merge(query: query)) response.body.dig("data", "table", "jobseeker") end
def update_jobseeker(wolf_token:, jobseeker:, tenant:, wolf_platform_url:, jobseeker_id:)
def update_jobseeker(wolf_token:, jobseeker:, tenant:, wolf_platform_url:, jobseeker_id:) parsed_http_put( headers: { "Authorization" => "Bearer #{wolf_token}" }, query: { tenant: tenant }, url: "#{wolf_platform_url}/api/v2/jobseekers/#{jobseeker_id}", body: jobseeker ) end
def update_jobseeker!(wolf_token:, jobseeker:, tenant:, wolf_platform_url:, error_message:, jobseeker_id:, error_data: nil)
def update_jobseeker!(wolf_token:, jobseeker:, tenant:, wolf_platform_url:, error_message:, jobseeker_id:, error_data: nil) response = update_jobseeker( wolf_token: wolf_token, jobseeker: jobseeker, tenant: tenant, wolf_platform_url: wolf_platform_url, jobseeker_id: jobseeker_id ) error_data ||= {} validate_http_response(response: response, message: error_message, error_data: error_data.merge(jobseeker_id: jobseeker_id, jobseeker: jobseeker)) response end