module Multiwoven::Integrations::Source::SalesforceConsumerGoodsCloud::SchemaHelper
def create_json_schema_for_object(metadata)
def create_json_schema_for_object(metadata) fields_schema = metadata["fields"].map do |field| { "#{field[:name]}": salesforce_field_to_json_schema_type(field) } end.reduce(:merge) json_schema = { "$schema": "http://json-schema.org/draft-07/schema#", "title": metadata["name"], "type": "object", "additionalProperties": true, "properties": fields_schema } required = metadata["fields"].map do |field| field["name"] if field["nillable"] == false end.compact primary_key = metadata["fields"].map do |field| field["name"] if field["nillable"] == false && field["unique"] == true end.compact { "name": metadata["name"], "action": "create", "json_schema": json_schema, "required": required, "supported_sync_modes": %w[incremental], "source_defined_primary_key": [primary_key], "source_defined_cursor": false, "default_cursor_field": nil } end