multiwoven-integrations 0.1.26 → 0.1.28
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 +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: '0972dc10bbb0d6d81f9903d0edb045f22f5d93bfa7d622f1c5758fd3b4fd2692'
|
4
|
+
data.tar.gz: 50ac2206ed0ba57413cc9ac334bb8d00acd8a263e7a3b78efe7a437983636331
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8e9c3f011128710a4502dd51d5dad7934521fa80c923fd7c202721bcc63b206fa0e555b29f5ae5ad2dc4beb0619162b7f160e32a5e6ef78248b58ddb662af0ec
|
7
|
+
data.tar.gz: 4343882c80e4cfd50e008d6fbcd0636e0e92e87d2e08173f2dd73c3152448ac8c874f27e787f645be5c9e1ee46504c4a3c6b28ce36c63d660f02026471b2ba4b
|
@@ -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 = "/lib/multiwoven/integrations/"
|
31
|
+
parts = connector_folder.split(marker)
|
32
|
+
|
33
|
+
marker + 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.28
|
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
|