connectors_sdk 8.3.0.0.pre.20220414T060419Z → 8.3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/connectors_sdk/atlassian/config.rb +27 -0
- data/lib/connectors_sdk/atlassian/custom_client.rb +87 -0
- data/lib/connectors_sdk/base/adapter.rb +7 -8
- data/lib/connectors_sdk/base/authorization.rb +89 -0
- data/lib/connectors_sdk/base/connector.rb +166 -0
- data/lib/connectors_sdk/base/custom_client.rb +1 -2
- data/lib/connectors_sdk/base/extractor.rb +6 -2
- data/lib/connectors_sdk/base/registry.rb +9 -4
- data/lib/connectors_sdk/confluence/adapter.rb +216 -0
- data/lib/connectors_sdk/confluence/custom_client.rb +143 -0
- data/lib/connectors_sdk/confluence/extractor.rb +265 -0
- data/lib/connectors_sdk/confluence_cloud/authorization.rb +64 -0
- data/lib/connectors_sdk/confluence_cloud/connector.rb +84 -0
- data/lib/connectors_sdk/confluence_cloud/custom_client.rb +61 -0
- data/lib/connectors_sdk/confluence_cloud/extractor.rb +59 -0
- data/lib/connectors_sdk/helpers/atlassian_time_formatter.rb +10 -0
- data/lib/connectors_sdk/office365/adapter.rb +7 -7
- data/lib/connectors_sdk/office365/config.rb +1 -0
- data/lib/connectors_sdk/office365/custom_client.rb +20 -39
- data/lib/connectors_sdk/office365/extractor.rb +18 -34
- data/lib/connectors_sdk/share_point/adapter.rb +24 -12
- data/lib/connectors_sdk/share_point/authorization.rb +14 -62
- data/lib/connectors_sdk/share_point/connector.rb +82 -0
- data/lib/connectors_sdk/share_point/extractor.rb +2 -2
- data/lib/connectors_sdk/stub_connector/connector.rb +62 -0
- data/lib/connectors_shared/constants.rb +12 -0
- data/lib/connectors_shared/exception_tracking.rb +4 -4
- data/lib/connectors_shared/extraction_utils.rb +109 -0
- data/lib/connectors_shared/job_status.rb +18 -0
- data/lib/connectors_shared/middleware/basic_auth.rb +27 -0
- data/lib/connectors_shared/middleware/bearer_auth.rb +27 -0
- data/lib/connectors_shared/middleware/restrict_hostnames.rb +73 -0
- data/lib/connectors_shared/monitor.rb +3 -3
- data/lib/connectors_shared.rb +1 -0
- data/lib/stubs/enterprise_search/exception_tracking.rb +43 -0
- metadata +30 -16
- data/lib/connectors_sdk/base/.config.rb.un~ +0 -0
- data/lib/connectors_sdk/base/.connectors.rb.un~ +0 -0
- data/lib/connectors_sdk/base/.registry.rb.un~ +0 -0
- data/lib/connectors_sdk/share_point/.http_call_wrapper.rb.un~ +0 -0
- data/lib/connectors_sdk/share_point/http_call_wrapper.rb +0 -117
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: connectors_sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 8.3.0.0
|
4
|
+
version: 8.3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -61,37 +61,52 @@ files:
|
|
61
61
|
- LICENSE
|
62
62
|
- NOTICE.txt
|
63
63
|
- lib/connectors_sdk.rb
|
64
|
-
- lib/connectors_sdk/
|
65
|
-
- lib/connectors_sdk/
|
66
|
-
- lib/connectors_sdk/base/.registry.rb.un~
|
64
|
+
- lib/connectors_sdk/atlassian/config.rb
|
65
|
+
- lib/connectors_sdk/atlassian/custom_client.rb
|
67
66
|
- lib/connectors_sdk/base/adapter.rb
|
67
|
+
- lib/connectors_sdk/base/authorization.rb
|
68
68
|
- lib/connectors_sdk/base/config.rb
|
69
|
+
- lib/connectors_sdk/base/connector.rb
|
69
70
|
- lib/connectors_sdk/base/custom_client.rb
|
70
71
|
- lib/connectors_sdk/base/extractor.rb
|
71
72
|
- lib/connectors_sdk/base/registry.rb
|
73
|
+
- lib/connectors_sdk/confluence/adapter.rb
|
74
|
+
- lib/connectors_sdk/confluence/custom_client.rb
|
75
|
+
- lib/connectors_sdk/confluence/extractor.rb
|
76
|
+
- lib/connectors_sdk/confluence_cloud/authorization.rb
|
77
|
+
- lib/connectors_sdk/confluence_cloud/connector.rb
|
78
|
+
- lib/connectors_sdk/confluence_cloud/custom_client.rb
|
79
|
+
- lib/connectors_sdk/confluence_cloud/extractor.rb
|
80
|
+
- lib/connectors_sdk/helpers/atlassian_time_formatter.rb
|
72
81
|
- lib/connectors_sdk/office365/adapter.rb
|
73
82
|
- lib/connectors_sdk/office365/config.rb
|
74
83
|
- lib/connectors_sdk/office365/custom_client.rb
|
75
84
|
- lib/connectors_sdk/office365/extractor.rb
|
76
|
-
- lib/connectors_sdk/share_point/.http_call_wrapper.rb.un~
|
77
85
|
- lib/connectors_sdk/share_point/adapter.rb
|
78
86
|
- lib/connectors_sdk/share_point/authorization.rb
|
87
|
+
- lib/connectors_sdk/share_point/connector.rb
|
79
88
|
- lib/connectors_sdk/share_point/extractor.rb
|
80
|
-
- lib/connectors_sdk/
|
89
|
+
- lib/connectors_sdk/stub_connector/connector.rb
|
81
90
|
- lib/connectors_shared.rb
|
82
91
|
- lib/connectors_shared/constants.rb
|
83
92
|
- lib/connectors_shared/errors.rb
|
84
93
|
- lib/connectors_shared/exception_tracking.rb
|
85
94
|
- lib/connectors_shared/extension_mapping_util.rb
|
95
|
+
- lib/connectors_shared/extraction_utils.rb
|
96
|
+
- lib/connectors_shared/job_status.rb
|
86
97
|
- lib/connectors_shared/logger.rb
|
98
|
+
- lib/connectors_shared/middleware/basic_auth.rb
|
99
|
+
- lib/connectors_shared/middleware/bearer_auth.rb
|
100
|
+
- lib/connectors_shared/middleware/restrict_hostnames.rb
|
87
101
|
- lib/connectors_shared/monitor.rb
|
102
|
+
- lib/stubs/enterprise_search/exception_tracking.rb
|
88
103
|
homepage: https://github.com/elastic/connectors
|
89
104
|
licenses:
|
90
105
|
- Elastic-2.0
|
91
106
|
metadata:
|
92
|
-
revision:
|
93
|
-
repository:
|
94
|
-
post_install_message:
|
107
|
+
revision: 8fe65b05c8d8c89d62d73e7d717238a5393d42f5
|
108
|
+
repository: git@github.com:elastic/connectors.git
|
109
|
+
post_install_message:
|
95
110
|
rdoc_options: []
|
96
111
|
require_paths:
|
97
112
|
- lib
|
@@ -102,13 +117,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
102
117
|
version: '0'
|
103
118
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
104
119
|
requirements:
|
105
|
-
- - "
|
120
|
+
- - ">="
|
106
121
|
- !ruby/object:Gem::Version
|
107
|
-
version:
|
122
|
+
version: '0'
|
108
123
|
requirements: []
|
109
|
-
|
110
|
-
|
111
|
-
signing_key:
|
124
|
+
rubygems_version: 3.0.3.1
|
125
|
+
signing_key:
|
112
126
|
specification_version: 4
|
113
127
|
summary: Gem containing apis used by Enterprise Search and implementations of Connectors
|
114
128
|
test_files: []
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,117 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
3
|
-
# or more contributor license agreements. Licensed under the Elastic License;
|
4
|
-
# you may not use this file except in compliance with the Elastic License.
|
5
|
-
#
|
6
|
-
|
7
|
-
# frozen_string_literal: true
|
8
|
-
|
9
|
-
require 'connectors_sdk/office365/config'
|
10
|
-
require 'connectors_sdk/share_point/extractor'
|
11
|
-
require 'connectors_sdk/share_point/authorization'
|
12
|
-
require 'bson'
|
13
|
-
|
14
|
-
module ConnectorsSdk
|
15
|
-
module SharePoint
|
16
|
-
SERVICE_TYPE = 'share_point'
|
17
|
-
|
18
|
-
class HttpCallWrapper
|
19
|
-
def extractor(params)
|
20
|
-
cursors = params.fetch(:cursors, {}) || {}
|
21
|
-
features = params.fetch(:features, {}) || {}
|
22
|
-
|
23
|
-
# XXX can we cache that class across calls?
|
24
|
-
ConnectorsSdk::SharePoint::Extractor.new(
|
25
|
-
content_source_id: BSON::ObjectId.new,
|
26
|
-
service_type: SERVICE_TYPE,
|
27
|
-
authorization_data_proc: proc { { access_token: params[:access_token] } },
|
28
|
-
client_proc: proc { ConnectorsSdk::Office365::CustomClient.new(:access_token => params[:access_token], :cursors => cursors) },
|
29
|
-
config: ConnectorsSdk::Office365::Config.new(:cursors => cursors, :drive_ids => 'all', :index_permissions => params[:index_permissions] || false),
|
30
|
-
features: features
|
31
|
-
)
|
32
|
-
end
|
33
|
-
|
34
|
-
def document_batch(params)
|
35
|
-
results = []
|
36
|
-
|
37
|
-
@extractor = extractor(params)
|
38
|
-
|
39
|
-
@extractor.yield_document_changes(:break_after_page => true, :modified_since => @extractor.config.cursors['modified_since']) do |action, doc, download_args_and_proc|
|
40
|
-
download_obj = nil
|
41
|
-
if download_args_and_proc
|
42
|
-
download_obj = {
|
43
|
-
id: download_args_and_proc[0],
|
44
|
-
name: download_args_and_proc[1],
|
45
|
-
size: download_args_and_proc[2],
|
46
|
-
download_args: download_args_and_proc[3]
|
47
|
-
}
|
48
|
-
end
|
49
|
-
|
50
|
-
results << {
|
51
|
-
:action => action,
|
52
|
-
:document => doc,
|
53
|
-
:download => download_obj
|
54
|
-
}
|
55
|
-
end
|
56
|
-
|
57
|
-
results
|
58
|
-
rescue ConnectorsSdk::Office365::CustomClient::ClientError => e
|
59
|
-
raise e.status_code == 401 ? ConnectorsShared::InvalidTokenError : e
|
60
|
-
end
|
61
|
-
|
62
|
-
def cursors
|
63
|
-
@extractor.config.cursors
|
64
|
-
end
|
65
|
-
|
66
|
-
def completed?
|
67
|
-
@extractor.completed
|
68
|
-
end
|
69
|
-
|
70
|
-
def deleted(params)
|
71
|
-
results = []
|
72
|
-
extractor(params).yield_deleted_ids(params[:ids]) do |id|
|
73
|
-
results << id
|
74
|
-
end
|
75
|
-
results
|
76
|
-
rescue ConnectorsSdk::Office365::CustomClient::ClientError => e
|
77
|
-
raise e.status_code == 401 ? ConnectorsShared::InvalidTokenError : e
|
78
|
-
end
|
79
|
-
|
80
|
-
def permissions(params)
|
81
|
-
extractor(params).yield_permissions(params[:user_id]) do |permissions|
|
82
|
-
return permissions
|
83
|
-
end
|
84
|
-
rescue ConnectorsSdk::Office365::CustomClient::ClientError => e
|
85
|
-
raise e.status_code == 401 ? ConnectorsShared::InvalidTokenError : e
|
86
|
-
end
|
87
|
-
|
88
|
-
def authorization_uri(body)
|
89
|
-
ConnectorsSdk::SharePoint::Authorization.authorization_uri(body)
|
90
|
-
end
|
91
|
-
|
92
|
-
def access_token(params)
|
93
|
-
ConnectorsSdk::SharePoint::Authorization.access_token(params)
|
94
|
-
end
|
95
|
-
|
96
|
-
def refresh(params)
|
97
|
-
ConnectorsSdk::SharePoint::Authorization.refresh(params)
|
98
|
-
end
|
99
|
-
|
100
|
-
def download(params)
|
101
|
-
extractor(params).download(params[:meta])
|
102
|
-
end
|
103
|
-
|
104
|
-
def name
|
105
|
-
'SharePoint'
|
106
|
-
end
|
107
|
-
|
108
|
-
def source_status(params)
|
109
|
-
client = ConnectorsSdk::Office365::CustomClient.new(:access_token => params[:access_token])
|
110
|
-
client.me
|
111
|
-
{ :status => 'OK', :statusCode => 200, :message => 'Connected to SharePoint' }
|
112
|
-
rescue StandardError => e
|
113
|
-
{ :status => 'FAILURE', :statusCode => e.is_a?(ConnectorsSdk::Office365::CustomClient::ClientError) ? e.status_code : 500, :message => e.message }
|
114
|
-
end
|
115
|
-
end
|
116
|
-
end
|
117
|
-
end
|