multiwoven-integrations 0.1.17 → 0.1.18
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/multiwoven/integrations/core/base_connector.rb +5 -1
- data/lib/multiwoven/integrations/core/destination_connector.rb +3 -1
- data/lib/multiwoven/integrations/core/source_connector.rb +2 -0
- data/lib/multiwoven/integrations/core/utils.rb +1 -1
- data/lib/multiwoven/integrations/destination/facebook_custom_audience/client.rb +1 -1
- data/lib/multiwoven/integrations/destination/slack/client.rb +1 -1
- data/lib/multiwoven/integrations/destination/slack/config/catalog.json +2 -53
- data/lib/multiwoven/integrations/rollout.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 33bd471327290a3ea7196e558ad47a4a41c5295f7535ca7e01ba5e3c920edf8f
|
4
|
+
data.tar.gz: 1b4c17cd7dcc6b7ea0e1a5208e71fba57d2c790863fee0fda5fcd24220bddf4f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 68017d5b0a0548fb3944248838fe5938377e477d2ce32c34421b32f92eba9bc487564d99583dad8f7f61aa0bba358f35570a2a6b20e3045c42da009b9dd46d87
|
7
|
+
data.tar.gz: da0889bd2c8865111319eab6d7ec3923edf34fb91b38bb885395e7aa2006080cddd17a73b924ab88154f5d38bc749fb00a2d53760c1c1d2a1ff032d48288f6e8
|
@@ -10,6 +10,7 @@ module Multiwoven
|
|
10
10
|
def connector_spec
|
11
11
|
@connector_spec ||= begin
|
12
12
|
spec_json = keys_to_symbols(read_json(CONNECTOR_SPEC_PATH)).to_json
|
13
|
+
# returns Protocol::ConnectorSpecification
|
13
14
|
ConnectorSpecification.from_json(spec_json)
|
14
15
|
end
|
15
16
|
end
|
@@ -19,17 +20,20 @@ module Multiwoven
|
|
19
20
|
icon_name = client_meta_data[:data][:icon]
|
20
21
|
icon_url = "https://raw.githubusercontent.com/Multiwoven/multiwoven-integrations/#{MAIN_BRANCH_SHA}/assets/images/connectors/#{icon_name}"
|
21
22
|
client_meta_data[:data][:icon] = icon_url
|
22
|
-
|
23
|
+
# returns hash
|
23
24
|
@meta_data ||= client_meta_data
|
24
25
|
end
|
25
26
|
|
27
|
+
# Connection config is a hash
|
26
28
|
def check_connection(_connection_config)
|
27
29
|
raise "Not implemented"
|
28
30
|
# returns Protocol.ConnectionStatus
|
29
31
|
end
|
30
32
|
|
33
|
+
# Connection config is a hash
|
31
34
|
def discover(_connection_config)
|
32
35
|
raise "Not implemented"
|
36
|
+
# returns Protocol::Catalog
|
33
37
|
end
|
34
38
|
|
35
39
|
private
|
@@ -3,9 +3,11 @@
|
|
3
3
|
module Multiwoven
|
4
4
|
module Integrations::Core
|
5
5
|
class DestinationConnector < BaseConnector
|
6
|
+
# records is transformed json payload send it to the destination
|
7
|
+
# SyncConfig is the Protocol::SyncConfig object
|
6
8
|
def write(_sync_config, _records, _action = "insert")
|
7
9
|
raise "Not implemented"
|
8
|
-
# return
|
10
|
+
# return Protocol::TrackingMessage
|
9
11
|
end
|
10
12
|
end
|
11
13
|
end
|
@@ -3,10 +3,12 @@
|
|
3
3
|
module Multiwoven
|
4
4
|
module Integrations::Core
|
5
5
|
class SourceConnector < BaseConnector
|
6
|
+
# accepts Protocol::SyncConfig
|
6
7
|
def read(_sync_config)
|
7
8
|
raise "Not implemented"
|
8
9
|
# setup sync configs
|
9
10
|
# call query(connection, query)
|
11
|
+
# Returns list of RecordMessage
|
10
12
|
end
|
11
13
|
|
12
14
|
private
|
@@ -65,7 +65,7 @@ module Multiwoven
|
|
65
65
|
end
|
66
66
|
|
67
67
|
def extract_data(record_object, properties)
|
68
|
-
data_attributes = record_object.with_indifferent_access
|
68
|
+
data_attributes = record_object.with_indifferent_access
|
69
69
|
data_attributes.select { |key, _| properties.key?(key.to_sym) }
|
70
70
|
end
|
71
71
|
|
@@ -55,7 +55,7 @@ module Multiwoven::Integrations::Destination
|
|
55
55
|
write_success = 0
|
56
56
|
write_failure = 0
|
57
57
|
records.each do |record|
|
58
|
-
payload = create_payload(record.with_indifferent_access
|
58
|
+
payload = create_payload(record.with_indifferent_access, sync_config.stream.json_schema.with_indifferent_access)
|
59
59
|
response = Multiwoven::Integrations::Core::HttpClient.request(
|
60
60
|
url,
|
61
61
|
sync_config.stream.request_method,
|
@@ -72,7 +72,7 @@ module Multiwoven
|
|
72
72
|
def build_args(stream_name, record)
|
73
73
|
case stream_name
|
74
74
|
when "chat_postMessage"
|
75
|
-
{ channel: channel_id, text: slack_code_block(record
|
75
|
+
{ channel: channel_id, text: slack_code_block(record) }
|
76
76
|
else
|
77
77
|
raise "Stream name not found: #{stream_name}"
|
78
78
|
end
|
@@ -9,63 +9,12 @@
|
|
9
9
|
"properties": {
|
10
10
|
"text": {
|
11
11
|
"type": ["string", "null"]
|
12
|
-
},
|
13
|
-
"attachments": {
|
14
|
-
"type": ["string", "null"]
|
15
|
-
},
|
16
|
-
"blocks": {
|
17
|
-
"type": ["array", "null"],
|
18
|
-
"items": {
|
19
|
-
"type": "string"
|
20
|
-
}
|
21
|
-
},
|
22
|
-
"as_user": {
|
23
|
-
"type": ["boolean", "null"]
|
24
|
-
},
|
25
|
-
"icon_emoji": {
|
26
|
-
"type": ["string", "null"]
|
27
|
-
},
|
28
|
-
"icon_url": {
|
29
|
-
"type": ["string", "null"]
|
30
|
-
},
|
31
|
-
"link_names": {
|
32
|
-
"type": ["boolean", "null"]
|
33
|
-
},
|
34
|
-
"metadata": {
|
35
|
-
"type": ["string", "null"]
|
36
|
-
},
|
37
|
-
"mrkdwn": {
|
38
|
-
"type": ["boolean", "null"]
|
39
|
-
},
|
40
|
-
"parse": {
|
41
|
-
"type": ["string", "null"]
|
42
|
-
},
|
43
|
-
"reply_broadcast": {
|
44
|
-
"type": ["boolean", "null"]
|
45
|
-
},
|
46
|
-
"thread_ts": {
|
47
|
-
"type": ["string", "null"]
|
48
|
-
},
|
49
|
-
"unfurl_links": {
|
50
|
-
"type": ["boolean", "null"]
|
51
|
-
},
|
52
|
-
"unfurl_media": {
|
53
|
-
"type": ["boolean", "null"]
|
54
|
-
},
|
55
|
-
"username": {
|
56
|
-
"type": ["string", "null"]
|
57
12
|
}
|
58
13
|
},
|
59
|
-
"oneOf": [
|
60
|
-
{ "required": ["text"] },
|
61
|
-
{ "required": ["attachments"] },
|
62
|
-
{ "required": ["blocks"] }
|
63
|
-
]
|
14
|
+
"oneOf": [{ "required": ["text"] }]
|
64
15
|
},
|
65
16
|
"supported_sync_modes": ["full_refresh", "incremental"],
|
66
|
-
"source_defined_cursor": true
|
67
|
-
"default_cursor_field": ["updated"],
|
68
|
-
"source_defined_primary_key": [["Id"]]
|
17
|
+
"source_defined_cursor": true
|
69
18
|
}
|
70
19
|
]
|
71
20
|
}
|
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.1.
|
4
|
+
version: 0.1.18
|
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: 2024-02-
|
11
|
+
date: 2024-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|