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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e44cc9f9cc2d07bcbd78946498b6180cee65cccef98486ca559b0a6b8839510a
4
- data.tar.gz: bf5c9e0e24a7d89c83bc10eaa564758fcd356187e8e2fea27a9d87c86261883c
3
+ metadata.gz: 548248efb12f50d98db83ed78b42560fa939e5e26ca5dc6e4070480087ccd031
4
+ data.tar.gz: 800a58d3544a6081c6127fee023485ed4cbc5e650a8b2e85c0cb069fef2b3a65
5
5
  SHA512:
6
- metadata.gz: fd6e0766f4887b2af9c6a5b6684e337674ec6047eb0c899c4b290efe03db81ffbf1a7e486a60f6a8c843e888ad651d12eca3ef57f69445dd1caf62b2b8c3ba83
7
- data.tar.gz: 2bdb29ed477d0675e1ab4a954a9c64796e3feb7d49e89b4e35f0631289ff99ac9f44d6ef14013ce9a0a586dfa9c66b527026dfce6ce3f9b6492d4cf8a9b15be9
6
+ metadata.gz: 396c31f86c4a01844781328bb4708b1e7c61d72615f944831cf600caf455ed5fa71482c50b0ace873c461d5d9f60017ef6430256df4c0da9d1565c9b76bf90ed
7
+ data.tar.gz: 19be24dd9990632958571068913bde45479d82bd186b66b1735b01eb196bb4dc0f108543007046b3de9eb926b71ddebc1ad331885c0c2711914facae61088fa3
@@ -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
- Selfid.logger.error "identity response : #{res.body[:message]}"
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
 
@@ -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 msg.first.id, original do
149
+ wait_for msgs.first.id, original do
150
150
  msgs.each do |msg|
151
151
  send_message msg
152
152
  end
@@ -132,14 +132,66 @@ module SelfSDK
132
132
  def prepare_facts(facts)
133
133
  fs = []
134
134
  facts.each do |f|
135
- fs << if f.is_a?(Hash)
135
+ fact = if f.is_a?(Hash)
136
136
  f
137
137
  else
138
138
  { fact: f }
139
139
  end
140
- end
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: selfsdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.146
4
+ version: 0.0.147
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aldgate Ventures