selfsdk 0.0.146 → 0.0.147

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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