multiwoven-integrations 0.34.13 → 0.34.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: af3f6a21444f5aa85047e82e0174fa7971c3999a9191641fc4c856eada85a8a8
|
|
4
|
+
data.tar.gz: df145b18f1f9693eea22d24ff683c19f5aab138a0120691451eb18929f89cc27
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a9b2487bf3e5108110f35794faf4ea49f4d1769aec463d552170347191cdac7856a5bf42d116dbaf38a9ede5f7fff569ac56edaae92acf0da0b53f6231f4a514
|
|
7
|
+
data.tar.gz: 3130acccdbe8f24751d263a7126c5c9394eadca7e731f7c1e8e97c5f127227058af5741a5ff728bdfef90254e4fb8a31b363505a0a39b99fd0d6388a1e8ac834
|
|
@@ -15,10 +15,8 @@ module Multiwoven::Integrations::Destination
|
|
|
15
15
|
def discover(connection_config)
|
|
16
16
|
connection_config = connection_config.with_indifferent_access
|
|
17
17
|
create_connection(connection_config)
|
|
18
|
-
|
|
19
18
|
models = @client.execute_kw(connection_config[:database], @uid, connection_config[:password],
|
|
20
|
-
"ir.model", "search_read", [[["transient", "=", false]
|
|
21
|
-
|
|
19
|
+
"ir.model", "search_read", [[["transient", "=", false]]], { 'fields': %w[name model] })
|
|
22
20
|
catalog = Catalog.new(streams: create_streams(connection_config, models))
|
|
23
21
|
catalog.to_multiwoven_message
|
|
24
22
|
rescue StandardError => e
|
|
@@ -85,7 +83,15 @@ module Multiwoven::Integrations::Destination
|
|
|
85
83
|
model["model"], "fields_get", [], { 'attributes': %w[name type] })
|
|
86
84
|
Multiwoven::Integrations::Protocol::Stream.new(name: model["model"], action: StreamAction["fetch"],
|
|
87
85
|
supported_sync_modes: %w[incremental], json_schema: convert_to_json_schema(fields))
|
|
88
|
-
|
|
86
|
+
rescue XMLRPC::FaultException => e
|
|
87
|
+
# Some versions of Odoo don't expose abstract field in the ir.model.
|
|
88
|
+
# Because of this, we aren't able to filter them out when fetching models.
|
|
89
|
+
# Because abstract models are not tables we can fetch fields from,
|
|
90
|
+
# an exception is raised when trying to fetch fields from them.
|
|
91
|
+
raise e unless e.message == "Object #{model["model"]} doesn't exist"
|
|
92
|
+
|
|
93
|
+
next
|
|
94
|
+
end.compact
|
|
89
95
|
end
|
|
90
96
|
|
|
91
97
|
def convert_to_json_schema(fields)
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: multiwoven-integrations
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.34.
|
|
4
|
+
version: 0.34.14
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Subin T P
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-
|
|
11
|
+
date: 2025-12-15 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|