module WolfCore::Integrations::CustomValueApiOperations
def create_custom_value(wolf_token:, custom_value:, tenant:, wolf_platform_url:, custom_requirement_id:,
def create_custom_value(wolf_token:, custom_value:, tenant:, wolf_platform_url:, custom_requirement_id:, query: nil) query ||= {} parsed_http_post( headers: { "Authorization" => "Bearer #{wolf_token}" }, query: query.merge(tenant: tenant), url: "#{wolf_platform_url}/api/v2/custom_requirements/#{custom_requirement_id}/custom_values", body: custom_value ) end
def create_custom_value!(wolf_token:, custom_value:, tenant:, wolf_platform_url:, error_message:,
def create_custom_value!(wolf_token:, custom_value:, tenant:, wolf_platform_url:, error_message:, custom_requirement_id:, error_data: nil, query: nil) response = create_custom_value( wolf_token: wolf_token, custom_value: custom_value, tenant: tenant, wolf_platform_url: wolf_platform_url, custom_requirement_id: custom_requirement_id, query: query ) validate_http_response(response: response, message: error_message, error_data: error_data) response end
def fetch_custom_value(wolf_token:, custom_value_id:, tenant:, wolf_platform_url:, query: nil)
def fetch_custom_value(wolf_token:, custom_value_id:, tenant:, wolf_platform_url:, query: nil) query ||= {} parsed_http_get( headers: { "Authorization" => "Bearer #{wolf_token}" }, url: "#{wolf_platform_url}/api/v2/custom_values/#{custom_value_id}", query: query.merge(tenant: tenant) ) end
def fetch_custom_value!(wolf_token:, custom_value_id:, tenant:, wolf_platform_url:, error_message:,
def fetch_custom_value!(wolf_token:, custom_value_id:, tenant:, wolf_platform_url:, error_message:, error_data: nil, query: nil) response = fetch_custom_value( wolf_token: wolf_token, custom_value_id: custom_value_id, tenant: tenant, wolf_platform_url: wolf_platform_url, query: query ) validate_http_response(response: response, message: error_message, error_data: error_data) response.body.dig("data", "table", "custom_responses") end
def fetch_custom_values(wolf_token:, tenant:, wolf_platform_url:, query: nil)
def fetch_custom_values(wolf_token:, tenant:, wolf_platform_url:, query: nil) query ||= {} parsed_http_get( headers: { "Authorization" => "Bearer #{wolf_token}" }, url: "#{wolf_platform_url}/api/v2/custom_values", query: query.merge(tenant: tenant) ) end
def fetch_custom_values!(wolf_token:, tenant:, wolf_platform_url:, error_message:, error_data: nil, query: nil)
def fetch_custom_values!(wolf_token:, tenant:, wolf_platform_url:, error_message:, error_data: nil, query: nil) response = fetch_custom_values( wolf_token: wolf_token, tenant: tenant, wolf_platform_url: wolf_platform_url, query: query ) validate_http_response(response: response, message: error_message, error_data: error_data) response.body.dig("data", "table", "custom_responses") end
def update_custom_value(wolf_token:, custom_value:, tenant:, wolf_platform_url:, custom_value_id:, query: nil)
def update_custom_value(wolf_token:, custom_value:, tenant:, wolf_platform_url:, custom_value_id:, query: nil) query ||= {} parsed_http_put( headers: { "Authorization" => "Bearer #{wolf_token}" }, query: query.merge(tenant: tenant), url: "#{wolf_platform_url}/api/v2/custom_values/#{custom_value_id}", body: custom_value ) end
def update_custom_value!(wolf_token:, custom_value:, tenant:, wolf_platform_url:, error_message:,
def update_custom_value!(wolf_token:, custom_value:, tenant:, wolf_platform_url:, error_message:, custom_value_id:, error_data: nil, query: nil) response = update_custom_value( wolf_token: wolf_token, custom_value: custom_value, tenant: tenant, wolf_platform_url: wolf_platform_url, custom_value_id: custom_value_id, query: query ) validate_http_response(response: response, message: error_message, error_data: error_data) response end
def upsert_custom_value(wolf_token:, tenant:, wolf_platform_url:, query:, custom_requirement_id:, custom_value:)
def upsert_custom_value(wolf_token:, tenant:, wolf_platform_url:, query:, custom_requirement_id:, custom_value:) response = fetch_custom_values( wolf_token: wolf_token, tenant: tenant, wolf_platform_url: wolf_platform_url, query: query ) return response unless response_success?(response) custom_values = response.body.dig("data", "table", "custom_responses") response = if custom_values&.any? operation_type = :update custom_value_id = custom_values.first["id"] update_custom_value( wolf_platform_url: wolf_platform_url, tenant: tenant, wolf_token: wolf_token, custom_value_id: custom_value_id, custom_value: custom_value ) else operation_type = :create create_custom_value( wolf_platform_url: wolf_platform_url, tenant: tenant, wolf_token: wolf_token, custom_requirement_id: custom_requirement_id, custom_value: custom_value ) end OpenStruct.new({ operation_type: operation_type, response: response }) end
def upsert_custom_value!(wolf_token:, tenant:, wolf_platform_url:, query:, custom_requirement_id:, custom_value:,
def upsert_custom_value!(wolf_token:, tenant:, wolf_platform_url:, query:, custom_requirement_id:, custom_value:, error_message:, error_data: nil) response = fetch_custom_values( wolf_token: wolf_token, tenant: tenant, wolf_platform_url: wolf_platform_url, query: query ) validate_http_response(response: response, message: error_message, error_data: error_data) custom_values = response.body.dig("data", "table", "custom_responses") response = if custom_values&.any? operation_type = :update custom_value_id = custom_values.first["id"] update_custom_value!( wolf_platform_url: wolf_platform_url, tenant: tenant, wolf_token: wolf_token, custom_value_id: custom_value_id, custom_value: custom_value, error_message: error_message, error_data: error_data ) else operation_type = :create create_custom_value!( wolf_platform_url: wolf_platform_url, tenant: tenant, wolf_token: wolf_token, custom_requirement_id: custom_requirement_id, custom_value: custom_value, error_message: error_message, error_data: error_data ) end { operation_type: operation_type, response: response } end