selfsdk 0.0.146 → 0.0.147
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/crypto.rb +2 -1
- data/lib/messaging.rb +1 -1
- data/lib/services/facts.rb +54 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 548248efb12f50d98db83ed78b42560fa939e5e26ca5dc6e4070480087ccd031
|
4
|
+
data.tar.gz: 800a58d3544a6081c6127fee023485ed4cbc5e650a8b2e85c0cb069fef2b3a65
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 396c31f86c4a01844781328bb4708b1e7c61d72615f944831cf600caf455ed5fa71482c50b0ace873c461d5d9f60017ef6430256df4c0da9d1565c9b76bf90ed
|
7
|
+
data.tar.gz: 19be24dd9990632958571068913bde45479d82bd186b66b1735b01eb196bb4dc0f108543007046b3de9eb926b71ddebc1ad331885c0c2711914facae61088fa3
|
data/lib/crypto.rb
CHANGED
@@ -46,7 +46,8 @@ module SelfSDK
|
|
46
46
|
res = @client.get("/v1/identities/#{recipient}/devices/#{recipient_device}/pre_keys")
|
47
47
|
|
48
48
|
if res.code != 200
|
49
|
-
|
49
|
+
b = JSON.parse(res.body)
|
50
|
+
::SelfSDK.logger.error "identity response : #{b['message']}"
|
50
51
|
raise "could not get identity pre_keys"
|
51
52
|
end
|
52
53
|
|
data/lib/messaging.rb
CHANGED
@@ -146,7 +146,7 @@ module SelfSDK
|
|
146
146
|
#
|
147
147
|
# @params msg [Msgproto::Message] message object to be sent
|
148
148
|
def send_and_wait_for_response(msgs, original)
|
149
|
-
wait_for
|
149
|
+
wait_for msgs.first.id, original do
|
150
150
|
msgs.each do |msg|
|
151
151
|
send_message msg
|
152
152
|
end
|
data/lib/services/facts.rb
CHANGED
@@ -132,14 +132,66 @@ module SelfSDK
|
|
132
132
|
def prepare_facts(facts)
|
133
133
|
fs = []
|
134
134
|
facts.each do |f|
|
135
|
-
|
135
|
+
fact = if f.is_a?(Hash)
|
136
136
|
f
|
137
137
|
else
|
138
138
|
{ fact: f }
|
139
139
|
end
|
140
|
-
|
140
|
+
validate_fact!(fact)
|
141
|
+
fs << fact
|
142
|
+
end
|
141
143
|
fs
|
142
144
|
end
|
145
|
+
|
146
|
+
def validate_fact!(f)
|
147
|
+
errInvalidFactToSource = 'provided source does not support given fact'
|
148
|
+
errInvalidSource = 'provided fact does not specify a valid source'
|
149
|
+
|
150
|
+
raise 'provided fact does not specify a name' if f[:fact].empty?
|
151
|
+
return unless f.has_key? :sources
|
152
|
+
|
153
|
+
valid_sources = [SOURCE_USER_SPECIFIED, SOURCE_PASSPORT, SOURCE_DRIVING_LICENSE, SOURCE_ID_CARD]
|
154
|
+
factsForPassport = [ FACT_DOCUMENT_NUMBER,
|
155
|
+
FACT_SURNAME,
|
156
|
+
FACT_GIVEN_NAMES,
|
157
|
+
FACT_DATE_OF_BIRTH,
|
158
|
+
FACT_DATE_OF_EXPIRATION,
|
159
|
+
FACT_SEX,
|
160
|
+
FACT_NATIONALITY,
|
161
|
+
FACT_COUNTRY_OF_ISSUANCE ]
|
162
|
+
|
163
|
+
factsForDL = [ FACT_DOCUMENT_NUMBER,
|
164
|
+
FACT_SURNAME,
|
165
|
+
FACT_GIVEN_NAMES,
|
166
|
+
FACT_DATE_OF_BIRTH,
|
167
|
+
FACT_DATEOF_ISSUANCE,
|
168
|
+
FACT_DATE_OF_EXPIRATION,
|
169
|
+
FACT_ADDRESS,
|
170
|
+
FACT_ISSUING_AUTHORITY,
|
171
|
+
FACT_PLACE_OF_BIRTH,
|
172
|
+
FACT_COUNTRY_OF_ISSUANCE ]
|
173
|
+
|
174
|
+
factsForUser = [ FACT_DOCUMENT_NUMBER,
|
175
|
+
FACT_DISPLAY_NAME,
|
176
|
+
FACT_EMAIL,
|
177
|
+
FACT_PHONE ]
|
178
|
+
|
179
|
+
f[:sources].each do |s|
|
180
|
+
raise errInvalidSource unless valid_sources.include? s
|
181
|
+
|
182
|
+
if s == SOURCE_PASSPORT || s == SOURCE_ID_CARD
|
183
|
+
raise errInvalidFactToSource unless factsForPassport.include? f[:fact]
|
184
|
+
end
|
185
|
+
|
186
|
+
if s == SOURCE_DRIVING_LICENSE
|
187
|
+
raise errInvalidFactToSource unless factsForDL.include? f[:fact]
|
188
|
+
end
|
189
|
+
|
190
|
+
if s == SOURCE_USER_SPECIFIED
|
191
|
+
raise errInvalidFactToSource unless factsForUser.include? f[:fact]
|
192
|
+
end
|
193
|
+
end
|
194
|
+
end
|
143
195
|
end
|
144
196
|
end
|
145
197
|
end
|