pampa_workers 1.1.14 → 1.1.15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/client.rb +35 -26
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7ab275405509b5e1757e26edcbd0aa703da36a65
|
4
|
+
data.tar.gz: 59873b29ad9be66f9c439478dedcef526e8581d1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fc5757fb1c54805415645caca9e87360c58cbcc0c4566700e772d0260edb30bc13245a76b73f413194373a8568cf397012e1973f94b8abce18e9f440e3844fca
|
7
|
+
data.tar.gz: b38cb83d0656799b2c531724075f7838fde797e26ff4f2c8afa6caec662286cb1dbdb4b96a34682ad2610f4f0a7c6b023419bb86404a9e3135808c0472107abf
|
data/lib/client.rb
CHANGED
@@ -85,50 +85,59 @@ module BlackStack
|
|
85
85
|
|
86
86
|
# llama a la api de postmark preguntando el reseller email configurado para este clietne fue ferificado
|
87
87
|
def checkDomainForSSMVerified()
|
88
|
-
|
88
|
+
return_message = {}
|
89
89
|
domain = self.domain_for_ssm
|
90
90
|
email = self.from_email_for_ssm
|
91
91
|
id = ''
|
92
92
|
client = ''
|
93
|
-
|
94
93
|
if domain != nil && email != nil
|
95
94
|
begin
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
95
|
+
# create postmark client
|
96
|
+
client_postmark = Postmark::AccountApiClient.new(POSTMARK_API_TOKEN, secure: true)
|
97
|
+
|
98
|
+
# get signature
|
99
|
+
# more info: https://github.com/wildbit/postmark-gem/wiki/Senders
|
100
|
+
#
|
101
|
+
# this first strategy is not scalable if we handle a large list of signatures.
|
102
|
+
#sign = client_postmark.signatures.select { |sign| sign[:domain]==domain }.first
|
103
|
+
#
|
104
|
+
# this other approach is a bit more scalable, but anyway we need to call the API
|
105
|
+
# with filering by the domain.
|
106
|
+
#
|
107
|
+
pagesize = 30 # TODO: increase this value to 300 for optimization
|
108
|
+
i = 0
|
109
|
+
j = 1
|
110
|
+
sign = nil
|
111
|
+
while j>0 && sign.nil?
|
112
|
+
buff = client_postmark.get_signatures(offset: i, count: pagesize)
|
113
|
+
j = buff.size
|
114
|
+
i += pagesize
|
115
|
+
sign = buff.select { |s| s[:domain]==domain }.first
|
116
|
+
end # while
|
117
|
+
|
118
|
+
# if signature has been found?
|
119
|
+
if sign.nil?
|
120
|
+
# sincronizo con la central
|
121
|
+
return_message[:status] = "Client Signature Not Found"
|
122
|
+
return_message[:value] = client[:id]
|
123
|
+
return return_message.to_json
|
124
|
+
else
|
125
|
+
id = sign[:id]
|
126
|
+
client = client_postmark.get_sender(id)
|
110
127
|
if !client[:confirmed]
|
111
128
|
self.domain_for_ssm_verified = false
|
112
|
-
self.save
|
113
|
-
|
129
|
+
self.save
|
114
130
|
return_message[:status] = "No Verified"
|
115
131
|
return_message[:value] = client[:id]
|
116
|
-
|
117
132
|
return return_message.to_json
|
118
133
|
else
|
119
134
|
self.domain_for_ssm_verified = true
|
120
|
-
self.save
|
121
|
-
|
122
|
-
# sincronizo con la central
|
123
|
-
return_message = {}
|
124
|
-
|
135
|
+
self.save
|
125
136
|
return_message[:status] = "success"
|
126
137
|
return_message[:value] = client[:id]
|
127
|
-
|
128
138
|
return return_message.to_json
|
129
139
|
end
|
130
140
|
end
|
131
|
-
|
132
141
|
rescue Postmark::ApiInputError => e
|
133
142
|
return_message[:status] = e.to_s
|
134
143
|
return return_message.to_json
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pampa_workers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Leandro Daniel Sardi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-07-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: websocket
|