Class: ConnectorsSdk::Base::Connector
- Inherits:
-
Object
- Object
- ConnectorsSdk::Base::Connector
show all
- Defined in:
- lib/connectors_sdk/base/connector.rb
Instance Method Summary
collapse
Instance Method Details
#access_token(params) ⇒ Object
91
92
93
|
# File 'lib/connectors_sdk/base/connector.rb', line 91
def access_token(params)
authorization.access_token(params)
end
|
#authorization_uri(params) ⇒ Object
87
88
89
|
# File 'lib/connectors_sdk/base/connector.rb', line 87
def authorization_uri(params)
authorization.authorization_uri(params)
end
|
#compare_secrets ⇒ Object
106
107
108
|
# File 'lib/connectors_sdk/base/connector.rb', line 106
def compare_secrets(*)
raise 'Not implemented for this connector'
end
|
#configurable_fields ⇒ Object
122
123
124
|
# File 'lib/connectors_sdk/base/connector.rb', line 122
def configurable_fields
[]
end
|
#connection_requires_redirect ⇒ Object
118
119
120
|
# File 'lib/connectors_sdk/base/connector.rb', line 118
def connection_requires_redirect
false
end
|
#deleted(params) ⇒ Object
65
66
67
68
69
70
71
72
73
|
# File 'lib/connectors_sdk/base/connector.rb', line 65
def deleted(params)
convert_third_party_errors do
results = []
(params).yield_deleted_ids(params[:ids]) do |id|
results << id
end
results
end
end
|
#display_name ⇒ Object
110
111
112
|
# File 'lib/connectors_sdk/base/connector.rb', line 110
def display_name
raise 'Not implemented for this connector'
end
|
#download(params) ⇒ Object
83
84
85
|
# File 'lib/connectors_sdk/base/connector.rb', line 83
def download(params)
(params).download(params[:meta])
end
|
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
# File 'lib/connectors_sdk/base/connector.rb', line 37
def (params)
convert_third_party_errors do
= (params)
.yield_document_changes(:modified_since => .config.cursors[:modified_since]) do |action, doc, download_args_and_proc|
download_obj = nil
if download_args_and_proc
download_obj = {
id: download_args_and_proc[0],
name: download_args_and_proc[1],
size: download_args_and_proc[2],
download_args: download_args_and_proc[3]
}
end
doc = {
:action => action,
:document => doc,
:download => download_obj
}
yield doc
end
.config.to_h[:cursors]
end
end
|
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/connectors_sdk/base/connector.rb', line 14
def (params)
content_source_id = params.fetch(:content_source_id)
secret_storage = params[:secret_storage]
.new(
content_source_id: content_source_id || "GENERATED-#{BSON::ObjectId.new}",
service_type: service_type,
authorization_data_proc: proc do
secret = secret_storage.fetch_secret(content_source_id)
{
access_token: secret[:access_token]
}
end,
client_proc: proc {
secret = secret_storage.fetch_secret(content_source_id)
params[:access_token] = secret[:access_token]
client(params)
},
config: config(params),
features: params.fetch(:features, {}) || {}
)
end
|
#permissions(params) ⇒ Object
75
76
77
78
79
80
81
|
# File 'lib/connectors_sdk/base/connector.rb', line 75
def permissions(params)
convert_third_party_errors do
(params).yield_permissions(params[:user_id]) do |permissions|
return permissions
end
end
end
|
#refresh(params) ⇒ Object
95
96
97
|
# File 'lib/connectors_sdk/base/connector.rb', line 95
def refresh(params)
authorization.refresh(params)
end
|
#service_type ⇒ Object
114
115
116
|
# File 'lib/connectors_sdk/base/connector.rb', line 114
def service_type
self.class::SERVICE_TYPE
end
|
#source_status(params) ⇒ Object
99
100
101
102
103
104
|
# File 'lib/connectors_sdk/base/connector.rb', line 99
def source_status(params)
health_check(params)
{ :status => 'OK', :statusCode => 200, :message => "Connected to #{display_name}" }
rescue StandardError => e
{ :status => 'FAILURE', :statusCode => e.is_a?(custom_client_error) ? e.status_code : 500, :message => e.message }
end
|