multiwoven-integrations 0.1.26 → 0.1.27
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 +4 -4
- data/lib/multiwoven/integrations/core/base_connector.rb +10 -1
- data/lib/multiwoven/integrations/destination/facebook_custom_audience/config/meta.json +1 -1
- data/lib/multiwoven/integrations/destination/klaviyo/config/meta.json +1 -1
- data/lib/multiwoven/integrations/destination/salesforce_crm/config/meta.json +1 -1
- data/lib/multiwoven/integrations/destination/slack/config/meta.json +1 -1
- data/lib/multiwoven/integrations/rollout.rb +2 -1
- data/lib/multiwoven/integrations/source/bigquery/config/meta.json +1 -1
- data/lib/multiwoven/integrations/source/postgresql/client.rb +109 -0
- data/lib/multiwoven/integrations/source/postgresql/config/meta.json +15 -0
- data/lib/multiwoven/integrations/source/postgresql/config/spec.json +68 -0
- data/lib/multiwoven/integrations/source/postgresql/icon.svg +20 -0
- data/lib/multiwoven/integrations/source/redshift/config/meta.json +1 -1
- data/lib/multiwoven/integrations/source/snowflake/config/meta.json +1 -1
- data/lib/multiwoven/integrations.rb +1 -0
- metadata +13 -9
- /data/{assets/images/connectors/facebook.svg → lib/multiwoven/integrations/destination/facebook_custom_audience/icon.svg} +0 -0
- /data/{assets/images/connectors/klaviyo.svg → lib/multiwoven/integrations/destination/klaviyo/icon.svg} +0 -0
- /data/{assets/images/connectors/salesforce.svg → lib/multiwoven/integrations/destination/salesforce_crm/icon.svg} +0 -0
- /data/{assets/images/connectors/slack.svg → lib/multiwoven/integrations/destination/slack/icon.svg} +0 -0
- /data/{assets/images/connectors/bigquery.svg → lib/multiwoven/integrations/source/bigquery/icon.svg} +0 -0
- /data/{assets/images/connectors/redshift.svg → lib/multiwoven/integrations/source/redshift/icon.svg} +0 -0
- /data/{assets/images/connectors/snowflake.svg → lib/multiwoven/integrations/source/snowflake/icon.svg} +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba4494240d8ec0dd3bc42e423f6b6401ee9733532c989baaab737ec48d19c2ea
|
4
|
+
data.tar.gz: 55c7b1d1bdac5b2cc495c7a9f3f31b88c15863912c2e89fecc842b5fc730ffa5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e0980a469f45addfe273f869c8a6e4e222fe12328eb3b9342abb0c24cbf5b76b272e0f249825b583037f571956e523c87aadc4ebcd9aec425fb368c9ca98f8a
|
7
|
+
data.tar.gz: 87c70dbe2c5059b4213464cb9c6d41966c4151eb3b1bdb211de1f7bf452791cd9182abcb1891f0ec3648d20f01f25aa1e95ecf7b1a1867a3c8c0c00625e80f26
|
@@ -18,12 +18,21 @@ module Multiwoven
|
|
18
18
|
def meta_data
|
19
19
|
client_meta_data = read_json(META_DATA_PATH).deep_symbolize_keys
|
20
20
|
icon_name = client_meta_data[:data][:icon]
|
21
|
-
icon_url = "https://raw.githubusercontent.com/Multiwoven/multiwoven-integrations/#{MAIN_BRANCH_SHA}
|
21
|
+
icon_url = "https://raw.githubusercontent.com/Multiwoven/multiwoven-integrations/#{MAIN_BRANCH_SHA}#{relative_path}/#{icon_name}"
|
22
22
|
client_meta_data[:data][:icon] = icon_url
|
23
23
|
# returns hash
|
24
24
|
@meta_data ||= client_meta_data
|
25
25
|
end
|
26
26
|
|
27
|
+
def relative_path
|
28
|
+
path = Object.const_source_location(self.class.to_s)[0]
|
29
|
+
connector_folder = File.dirname(path)
|
30
|
+
marker = "multiwoven-integrations"
|
31
|
+
parts = connector_folder.split(marker)
|
32
|
+
|
33
|
+
parts.last if parts.length > 1
|
34
|
+
end
|
35
|
+
|
27
36
|
# Connection config is a hash
|
28
37
|
def check_connection(_connection_config)
|
29
38
|
raise "Not implemented"
|
@@ -6,7 +6,7 @@
|
|
6
6
|
"category": "Marketing Automation",
|
7
7
|
"documentation_url": "https://docs.mutliwoven.com",
|
8
8
|
"github_issue_label": "destination-klaviyo",
|
9
|
-
"icon": "
|
9
|
+
"icon": "icon.svg",
|
10
10
|
"license": "MIT",
|
11
11
|
"release_stage": "alpha",
|
12
12
|
"support_level": "community",
|
@@ -0,0 +1,109 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "pg"
|
4
|
+
|
5
|
+
module Multiwoven::Integrations::Source
|
6
|
+
module Postgresql
|
7
|
+
include Multiwoven::Integrations::Core
|
8
|
+
class Client < SourceConnector
|
9
|
+
def check_connection(connection_config)
|
10
|
+
connection_config = connection_config.with_indifferent_access
|
11
|
+
create_connection(connection_config)
|
12
|
+
ConnectionStatus.new(
|
13
|
+
status: ConnectionStatusType["succeeded"]
|
14
|
+
).to_multiwoven_message
|
15
|
+
rescue PG::Error => e
|
16
|
+
ConnectionStatus.new(
|
17
|
+
status: ConnectionStatusType["failed"], message: e.message
|
18
|
+
).to_multiwoven_message
|
19
|
+
end
|
20
|
+
|
21
|
+
def discover(connection_config)
|
22
|
+
connection_config = connection_config.with_indifferent_access
|
23
|
+
query = "SELECT table_name, column_name, data_type, is_nullable
|
24
|
+
FROM information_schema.columns
|
25
|
+
WHERE table_schema = '#{connection_config[:schema]}' AND table_catalog = '#{connection_config[:database]}'
|
26
|
+
ORDER BY table_name, ordinal_position;"
|
27
|
+
|
28
|
+
db = create_connection(connection_config)
|
29
|
+
records = db.exec(query) do |result|
|
30
|
+
result.map do |row|
|
31
|
+
row
|
32
|
+
end
|
33
|
+
end
|
34
|
+
catalog = Catalog.new(streams: create_streams(records))
|
35
|
+
catalog.to_multiwoven_message
|
36
|
+
rescue StandardError => e
|
37
|
+
handle_exception(
|
38
|
+
"POSTGRESQL:DISCOVER:EXCEPTION",
|
39
|
+
"error",
|
40
|
+
e
|
41
|
+
)
|
42
|
+
ensure
|
43
|
+
db&.close
|
44
|
+
end
|
45
|
+
|
46
|
+
def read(sync_config)
|
47
|
+
connection_config = sync_config.source.connection_specification
|
48
|
+
connection_config = connection_config.with_indifferent_access
|
49
|
+
query = sync_config.model.query
|
50
|
+
query = batched_query(query, sync_config.limit, sync_config.offset) unless sync_config.limit.nil? && sync_config.offset.nil?
|
51
|
+
|
52
|
+
db = create_connection(connection_config)
|
53
|
+
|
54
|
+
query(db, query)
|
55
|
+
rescue StandardError => e
|
56
|
+
handle_exception(
|
57
|
+
"POSTGRESQL:READ:EXCEPTION",
|
58
|
+
"error",
|
59
|
+
e
|
60
|
+
)
|
61
|
+
ensure
|
62
|
+
db&.close
|
63
|
+
end
|
64
|
+
|
65
|
+
private
|
66
|
+
|
67
|
+
def query(connection, query)
|
68
|
+
connection.exec(query) do |result|
|
69
|
+
result.map do |row|
|
70
|
+
RecordMessage.new(data: row, emitted_at: Time.now.to_i).to_multiwoven_message
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
def create_connection(connection_config)
|
76
|
+
raise "Unsupported Auth type" unless connection_config[:credentials][:auth_type] == "username/password"
|
77
|
+
|
78
|
+
PG.connect(
|
79
|
+
host: connection_config[:host],
|
80
|
+
dbname: connection_config[:database],
|
81
|
+
user: connection_config[:credentials][:username],
|
82
|
+
password: connection_config[:credentials][:password],
|
83
|
+
port: connection_config[:port]
|
84
|
+
)
|
85
|
+
end
|
86
|
+
|
87
|
+
def create_streams(records)
|
88
|
+
group_by_table(records).map do |r|
|
89
|
+
Multiwoven::Integrations::Protocol::Stream.new(name: r[:tablename], action: StreamAction["fetch"], json_schema: convert_to_json_schema(r[:columns]))
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
def group_by_table(records)
|
94
|
+
records.group_by { |entry| entry["table_name"] }.map do |table_name, columns|
|
95
|
+
{
|
96
|
+
tablename: table_name,
|
97
|
+
columns: columns.map do |column|
|
98
|
+
{
|
99
|
+
column_name: column["column_name"],
|
100
|
+
type: column["data_type"],
|
101
|
+
optional: column["is_nullable"] == "YES"
|
102
|
+
}
|
103
|
+
end
|
104
|
+
}
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"data": {
|
3
|
+
"name": "Postgresql",
|
4
|
+
"title": "PostgreSQL",
|
5
|
+
"connector_type": "source",
|
6
|
+
"category": "Data Warehouse",
|
7
|
+
"documentation_url": "https://docs.mutliwoven.com",
|
8
|
+
"github_issue_label": "source-postgresql",
|
9
|
+
"icon": "icon.svg",
|
10
|
+
"license": "MIT",
|
11
|
+
"release_stage": "alpha",
|
12
|
+
"support_level": "community",
|
13
|
+
"tags": ["language:ruby", "multiwoven"]
|
14
|
+
}
|
15
|
+
}
|
@@ -0,0 +1,68 @@
|
|
1
|
+
{
|
2
|
+
"documentation_url": "https://docs.multiwoven.com/integrations/sources/postgresql",
|
3
|
+
"stream_type": "dynamic",
|
4
|
+
"connection_specification": {
|
5
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
6
|
+
"title": "Postgresql",
|
7
|
+
"type": "object",
|
8
|
+
"required": ["host", "port", "database", "schema"],
|
9
|
+
"properties": {
|
10
|
+
"credentials": {
|
11
|
+
"title": "",
|
12
|
+
"type": "object",
|
13
|
+
"required": ["auth_type", "username", "password"],
|
14
|
+
"properties": {
|
15
|
+
"auth_type": {
|
16
|
+
"type": "string",
|
17
|
+
"default": "username/password",
|
18
|
+
"order": 0,
|
19
|
+
"readOnly": true
|
20
|
+
},
|
21
|
+
"username": {
|
22
|
+
"description": "Username refers to your individual PostgreSQL login credentials. At a minimum, the user associated with these credentials must be granted read access to the data intended for synchronization.",
|
23
|
+
"examples": ["POSTGRESQL_USER"],
|
24
|
+
"type": "string",
|
25
|
+
"title": "Username",
|
26
|
+
"order": 1
|
27
|
+
},
|
28
|
+
"password": {
|
29
|
+
"description": "This field requires the password associated with the user account specified in the preceding section.",
|
30
|
+
"type": "string",
|
31
|
+
"multiwoven_secret": true,
|
32
|
+
"title": "Password",
|
33
|
+
"order": 2
|
34
|
+
}
|
35
|
+
},
|
36
|
+
"order": 0
|
37
|
+
},
|
38
|
+
"host": {
|
39
|
+
"description": "The hostname or IP address of your PostgreSQL server.",
|
40
|
+
"examples": ["127.0.0.1"],
|
41
|
+
"type": "string",
|
42
|
+
"title": "Host",
|
43
|
+
"order": 1
|
44
|
+
},
|
45
|
+
"port": {
|
46
|
+
"description": "The port number for your PostgreSQL server, which defaults to 5432, may vary based on your configuration. ",
|
47
|
+
"examples": ["5432"],
|
48
|
+
"type": "string",
|
49
|
+
"title": "Port",
|
50
|
+
"order": 2
|
51
|
+
},
|
52
|
+
"database": {
|
53
|
+
"description": "The specific PostgreSQL database to connect to.",
|
54
|
+
"examples": ["POSTGRESQL_DB"],
|
55
|
+
"type": "string",
|
56
|
+
"title": "Database",
|
57
|
+
"order": 3
|
58
|
+
},
|
59
|
+
"schema": {
|
60
|
+
"description": "The schema within the PostgreSQL database.",
|
61
|
+
"examples": ["POSTGRESQL_SCHEMA"],
|
62
|
+
"type": "string",
|
63
|
+
"title": "Schema",
|
64
|
+
"order": 4
|
65
|
+
}
|
66
|
+
}
|
67
|
+
}
|
68
|
+
}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3
|
+
<svg width="432.071pt" height="445.383pt" viewBox="0 0 432.071 445.383" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
|
4
|
+
<g id="orginal" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;">
|
5
|
+
</g>
|
6
|
+
<g id="Layer_x0020_3" style="fill-rule:nonzero;clip-rule:nonzero;fill:none;stroke:#FFFFFF;stroke-width:12.4651;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;">
|
7
|
+
<path style="fill:#000000;stroke:#000000;stroke-width:37.3953;stroke-linecap:butt;stroke-linejoin:miter;" d="M323.205,324.227c2.833-23.601,1.984-27.062,19.563-23.239l4.463,0.392c13.517,0.615,31.199-2.174,41.587-7c22.362-10.376,35.622-27.7,13.572-23.148c-50.297,10.376-53.755-6.655-53.755-6.655c53.111-78.803,75.313-178.836,56.149-203.322 C352.514-5.534,262.036,26.049,260.522,26.869l-0.482,0.089c-9.938-2.062-21.06-3.294-33.554-3.496c-22.761-0.374-40.032,5.967-53.133,15.904c0,0-161.408-66.498-153.899,83.628c1.597,31.936,45.777,241.655,98.47,178.31 c19.259-23.163,37.871-42.748,37.871-42.748c9.242,6.14,20.307,9.272,31.912,8.147l0.897-0.765c-0.281,2.876-0.157,5.689,0.359,9.019c-13.572,15.167-9.584,17.83-36.723,23.416c-27.457,5.659-11.326,15.734-0.797,18.367c12.768,3.193,42.305,7.716,62.268-20.224 l-0.795,3.188c5.325,4.26,4.965,30.619,5.72,49.452c0.756,18.834,2.017,36.409,5.856,46.771c3.839,10.36,8.369,37.05,44.036,29.406c29.809-6.388,52.6-15.582,54.677-101.107"/>
|
8
|
+
<path style="fill:#336791;stroke:none;" d="M402.395,271.23c-50.302,10.376-53.76-6.655-53.76-6.655c53.111-78.808,75.313-178.843,56.153-203.326c-52.27-66.785-142.752-35.2-144.262-34.38l-0.486,0.087c-9.938-2.063-21.06-3.292-33.56-3.496c-22.761-0.373-40.026,5.967-53.127,15.902 c0,0-161.411-66.495-153.904,83.63c1.597,31.938,45.776,241.657,98.471,178.312c19.26-23.163,37.869-42.748,37.869-42.748c9.243,6.14,20.308,9.272,31.908,8.147l0.901-0.765c-0.28,2.876-0.152,5.689,0.361,9.019c-13.575,15.167-9.586,17.83-36.723,23.416 c-27.459,5.659-11.328,15.734-0.796,18.367c12.768,3.193,42.307,7.716,62.266-20.224l-0.796,3.188c5.319,4.26,9.054,27.711,8.428,48.969c-0.626,21.259-1.044,35.854,3.147,47.254c4.191,11.4,8.368,37.05,44.042,29.406c29.809-6.388,45.256-22.942,47.405-50.555 c1.525-19.631,4.976-16.729,5.194-34.28l2.768-8.309c3.192-26.611,0.507-35.196,18.872-31.203l4.463,0.392c13.517,0.615,31.208-2.174,41.591-7c22.358-10.376,35.618-27.7,13.573-23.148z"/>
|
9
|
+
<path d="M215.866,286.484c-1.385,49.516,0.348,99.377,5.193,111.495c4.848,12.118,15.223,35.688,50.9,28.045c29.806-6.39,40.651-18.756,45.357-46.051c3.466-20.082,10.148-75.854,11.005-87.281"/>
|
10
|
+
<path d="M173.104,38.256c0,0-161.521-66.016-154.012,84.109c1.597,31.938,45.779,241.664,98.473,178.316c19.256-23.166,36.671-41.335,36.671-41.335"/>
|
11
|
+
<path d="M260.349,26.207c-5.591,1.753,89.848-34.889,144.087,34.417c19.159,24.484-3.043,124.519-56.153,203.329"/>
|
12
|
+
<path style="stroke-linejoin:bevel;" d="M348.282,263.953c0,0,3.461,17.036,53.764,6.653c22.04-4.552,8.776,12.774-13.577,23.155c-18.345,8.514-59.474,10.696-60.146-1.069c-1.729-30.355,21.647-21.133,19.96-28.739c-1.525-6.85-11.979-13.573-18.894-30.338 c-6.037-14.633-82.796-126.849,21.287-110.183c3.813-0.789-27.146-99.002-124.553-100.599c-97.385-1.597-94.19,119.762-94.19,119.762"/>
|
13
|
+
<path d="M188.604,274.334c-13.577,15.166-9.584,17.829-36.723,23.417c-27.459,5.66-11.326,15.733-0.797,18.365c12.768,3.195,42.307,7.718,62.266-20.229c6.078-8.509-0.036-22.086-8.385-25.547c-4.034-1.671-9.428-3.765-16.361,3.994z"/>
|
14
|
+
<path d="M187.715,274.069c-1.368-8.917,2.93-19.528,7.536-31.942c6.922-18.626,22.893-37.255,10.117-96.339c-9.523-44.029-73.396-9.163-73.436-3.193c-0.039,5.968,2.889,30.26-1.067,58.548c-5.162,36.913,23.488,68.132,56.479,64.938"/>
|
15
|
+
<path style="fill:#FFFFFF;stroke-width:4.155;stroke-linecap:butt;stroke-linejoin:miter;" d="M172.517,141.7c-0.288,2.039,3.733,7.48,8.976,8.207c5.234,0.73,9.714-3.522,9.998-5.559c0.284-2.039-3.732-4.285-8.977-5.015c-5.237-0.731-9.719,0.333-9.996,2.367z"/>
|
16
|
+
<path style="fill:#FFFFFF;stroke-width:2.0775;stroke-linecap:butt;stroke-linejoin:miter;" d="M331.941,137.543c0.284,2.039-3.732,7.48-8.976,8.207c-5.238,0.73-9.718-3.522-10.005-5.559c-0.277-2.039,3.74-4.285,8.979-5.015c5.239-0.73,9.718,0.333,10.002,2.368z"/>
|
17
|
+
<path d="M350.676,123.432c0.863,15.994-3.445,26.888-3.988,43.914c-0.804,24.748,11.799,53.074-7.191,81.435"/>
|
18
|
+
<path style="stroke-width:3;" d="M0,60.232"/>
|
19
|
+
</g>
|
20
|
+
</svg>
|
@@ -33,6 +33,7 @@ require_relative "integrations/core/http_client"
|
|
33
33
|
require_relative "integrations/source/snowflake/client"
|
34
34
|
require_relative "integrations/source/redshift/client"
|
35
35
|
require_relative "integrations/source/bigquery/client"
|
36
|
+
require_relative "integrations/source/postgresql/client"
|
36
37
|
|
37
38
|
# Destination
|
38
39
|
require_relative "integrations/destination/klaviyo/client"
|
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.27
|
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-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -293,13 +293,6 @@ files:
|
|
293
293
|
- LICENSE.txt
|
294
294
|
- README.md
|
295
295
|
- Rakefile
|
296
|
-
- assets/images/connectors/bigquery.svg
|
297
|
-
- assets/images/connectors/facebook.svg
|
298
|
-
- assets/images/connectors/klaviyo.svg
|
299
|
-
- assets/images/connectors/redshift.svg
|
300
|
-
- assets/images/connectors/salesforce.svg
|
301
|
-
- assets/images/connectors/slack.svg
|
302
|
-
- assets/images/connectors/snowflake.svg
|
303
296
|
- lib/multiwoven/integrations.rb
|
304
297
|
- lib/multiwoven/integrations/config.rb
|
305
298
|
- lib/multiwoven/integrations/core/base_connector.rb
|
@@ -312,18 +305,22 @@ files:
|
|
312
305
|
- lib/multiwoven/integrations/destination/facebook_custom_audience/config/catalog.json
|
313
306
|
- lib/multiwoven/integrations/destination/facebook_custom_audience/config/meta.json
|
314
307
|
- lib/multiwoven/integrations/destination/facebook_custom_audience/config/spec.json
|
308
|
+
- lib/multiwoven/integrations/destination/facebook_custom_audience/icon.svg
|
315
309
|
- lib/multiwoven/integrations/destination/klaviyo/client.rb
|
316
310
|
- lib/multiwoven/integrations/destination/klaviyo/config/catalog.json
|
317
311
|
- lib/multiwoven/integrations/destination/klaviyo/config/meta.json
|
318
312
|
- lib/multiwoven/integrations/destination/klaviyo/config/spec.json
|
313
|
+
- lib/multiwoven/integrations/destination/klaviyo/icon.svg
|
319
314
|
- lib/multiwoven/integrations/destination/salesforce_crm/client.rb
|
320
315
|
- lib/multiwoven/integrations/destination/salesforce_crm/config/catalog.json
|
321
316
|
- lib/multiwoven/integrations/destination/salesforce_crm/config/meta.json
|
322
317
|
- lib/multiwoven/integrations/destination/salesforce_crm/config/spec.json
|
318
|
+
- lib/multiwoven/integrations/destination/salesforce_crm/icon.svg
|
323
319
|
- lib/multiwoven/integrations/destination/slack/client.rb
|
324
320
|
- lib/multiwoven/integrations/destination/slack/config/catalog.json
|
325
321
|
- lib/multiwoven/integrations/destination/slack/config/meta.json
|
326
322
|
- lib/multiwoven/integrations/destination/slack/config/spec.json
|
323
|
+
- lib/multiwoven/integrations/destination/slack/icon.svg
|
327
324
|
- lib/multiwoven/integrations/protocol/protocol.json
|
328
325
|
- lib/multiwoven/integrations/protocol/protocol.rb
|
329
326
|
- lib/multiwoven/integrations/rollout.rb
|
@@ -331,12 +328,19 @@ files:
|
|
331
328
|
- lib/multiwoven/integrations/source/bigquery/client.rb
|
332
329
|
- lib/multiwoven/integrations/source/bigquery/config/meta.json
|
333
330
|
- lib/multiwoven/integrations/source/bigquery/config/spec.json
|
331
|
+
- lib/multiwoven/integrations/source/bigquery/icon.svg
|
332
|
+
- lib/multiwoven/integrations/source/postgresql/client.rb
|
333
|
+
- lib/multiwoven/integrations/source/postgresql/config/meta.json
|
334
|
+
- lib/multiwoven/integrations/source/postgresql/config/spec.json
|
335
|
+
- lib/multiwoven/integrations/source/postgresql/icon.svg
|
334
336
|
- lib/multiwoven/integrations/source/redshift/client.rb
|
335
337
|
- lib/multiwoven/integrations/source/redshift/config/meta.json
|
336
338
|
- lib/multiwoven/integrations/source/redshift/config/spec.json
|
339
|
+
- lib/multiwoven/integrations/source/redshift/icon.svg
|
337
340
|
- lib/multiwoven/integrations/source/snowflake/client.rb
|
338
341
|
- lib/multiwoven/integrations/source/snowflake/config/meta.json
|
339
342
|
- lib/multiwoven/integrations/source/snowflake/config/spec.json
|
343
|
+
- lib/multiwoven/integrations/source/snowflake/icon.svg
|
340
344
|
- sig/multiwoven/integrations.rbs
|
341
345
|
homepage: https://www.multiwoven.com/
|
342
346
|
licenses:
|
File without changes
|
File without changes
|
File without changes
|
/data/{assets/images/connectors/slack.svg → lib/multiwoven/integrations/destination/slack/icon.svg}
RENAMED
File without changes
|
/data/{assets/images/connectors/bigquery.svg → lib/multiwoven/integrations/source/bigquery/icon.svg}
RENAMED
File without changes
|
/data/{assets/images/connectors/redshift.svg → lib/multiwoven/integrations/source/redshift/icon.svg}
RENAMED
File without changes
|
File without changes
|