imperituroard 1.0.1 → 1.0.7

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
  SHA1:
3
- metadata.gz: 7f4803bd76c090876b654425c6a5a76237ce07da
4
- data.tar.gz: afc8920cded7afea1bab18ebc83ab992915f1329
3
+ metadata.gz: 4f4aba43e40c3e31b5d3336e6dd8233ced0fdc47
4
+ data.tar.gz: 14a08ce0ee5ee4af6f0af163c4eb148e1c18274b
5
5
  SHA512:
6
- metadata.gz: fa6fd8bb0af774f0acd9a01cd74bb1851f5c437eb06c981a86767d1c0151261f3b62f4bba1624d835bc2902147229d2828f9a1ff8291134ada8786cc3a8acebc
7
- data.tar.gz: 19874621621215547e23187b1643f3422d44228d071e357fada3b91e7f0cb35f76e4df8c4b5c5c28bd6194a06f9a9c8f17106a3bc19b6ee5e4c5e0871a7b3ced
6
+ metadata.gz: bbb81cd14c71ebe0693054322a33f8ad93096cada10528eb7665d8f822ec53430f42f81ccbaeb632bc7f41441509fda8dc2d0b69b54de6cdea11abe5034ac306
7
+ data.tar.gz: 6d9f3d756baaa25e8eacbb630822b1c26449d677caaa3dc0d47e8c79c1e514dfe6321c5370922f7b41da86ca466437f03ee1f2d45fffca990a73a4941053feff
@@ -0,0 +1,21 @@
1
+ <component name="ProjectRunConfigurationManager">
2
+ <configuration default="false" name="version" type="RubyRunConfigurationType" factoryName="Ruby">
3
+ <module name="imperituroard" />
4
+ <RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
5
+ <RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="$MODULE_DIR$/lib/imperituroard" />
6
+ <RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
7
+ <RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
8
+ <RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
9
+ <envs />
10
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
11
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
12
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
13
+ <COVERAGE_PATTERN ENABLED="true">
14
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
15
+ </COVERAGE_PATTERN>
16
+ </EXTENSION>
17
+ <RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="$MODULE_DIR$/lib/imperituroard/version.rb" />
18
+ <RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="" />
19
+ <method />
20
+ </configuration>
21
+ </component>
@@ -33,6 +33,7 @@ require 'net/http'
33
33
  require 'uri'
34
34
 
35
35
  module Imperituroard
36
+
36
37
  class Error < StandardError;
37
38
  end
38
39
 
@@ -42,6 +43,7 @@ module Imperituroard
42
43
  def hhh(jjj)
43
44
  p jjj
44
45
  end
46
+
45
47
  # Your code goes here...
46
48
  end
47
49
 
@@ -239,6 +241,11 @@ class Iot
239
241
  iot_connector.get_available_types_2(login, real_ip, remote_ip)
240
242
  end
241
243
 
244
+ #9-1 get available types for login and profile
245
+ def get_available_types2(login, profile, real_ip, remote_ip)
246
+ iot_connector.get_available_types2_2(login, profile, real_ip, remote_ip)
247
+ end
248
+
242
249
  #10 get info for device type
243
250
  def get_info_data_type(type, real_ip, remote_ip)
244
251
  iot_connector.get_info_data_type_2(type, real_ip, remote_ip)
@@ -115,10 +115,9 @@ class IotFunctions_2
115
115
  end
116
116
  end
117
117
 
118
-
119
118
  begin
120
119
  added_on_iot_platf = []
121
- if for_insert!=[]
120
+ if for_insert != []
122
121
  ##Logic for IOT Platform connection###
123
122
 
124
123
 
@@ -141,7 +140,7 @@ class IotFunctions_2
141
140
 
142
141
  #get {"model"=>"BGT_PPMC", "ManufacturerID"=>"unknown", "ManufacturerNAME"=>"unknown", "device_type"=>"unknown"}
143
142
  #from database
144
- model_data = mongo_client.get_device_type_info_by_model(aaa["device_type"])
143
+ model_data = mongo_client.get_device_type_info_universal(aaa["device_type"])
145
144
  resss = hua_aceanconnect_connector.add_new_device_on_huawei(credentials[:body][:app_id],
146
145
  credentials[:body][:secret],
147
146
  aaa["imei"],
@@ -154,7 +153,6 @@ class IotFunctions_2
154
153
  model_data[:body]["model"]
155
154
  )
156
155
  if resss[:code]=="200"
157
-
158
156
  if resss[:body].key?("error_code") && resss[:body]["error_code"] != 200
159
157
  not_processed_list.append({:imei => aaa["imei"], :error => resss})
160
158
  else
@@ -163,15 +161,12 @@ class IotFunctions_2
163
161
  s1[:created] = DateTime.now
164
162
  added_on_iot_platf.append(s1)
165
163
  end
166
-
167
164
  else
168
165
  not_processed_list.append({:imei => aaa["imei"], :error => resss})
169
166
  end
170
167
  rescue
171
168
  not_processed_list.append({:imei => aaa["imei"], :error => "Unknown error with insertion imei on IOT platform"})
172
169
  end
173
-
174
-
175
170
  #########end iot platform logic#######
176
171
 
177
172
  else
@@ -187,16 +182,12 @@ class IotFunctions_2
187
182
  else
188
183
  resp_out = {:code => 202, :result => "Empty list. Nothing for insertion", :body => {:imei_processed => added_on_iot_platf, :error_list => not_processed_list}}
189
184
  end
190
-
191
-
192
185
  else
193
186
  resp_out = {:code => 202, :result => "Nothing for insertion", :body => {:imei_processed => added_on_iot_platf, :error_list => not_processed_list}}
194
-
195
187
  end
196
188
  rescue
197
189
  resp_out = {:code => 505, :result => "Error with database communication"}
198
190
  end
199
-
200
191
  else
201
192
  resp_out = {:code => 509, :result => "Input data invalid"}
202
193
  end
@@ -206,9 +197,7 @@ class IotFunctions_2
206
197
  end
207
198
  thr1.join
208
199
 
209
-
210
200
  resp_out[:body][:tosoapgw] = internal_func.iot_create_dev_soapgw_answer(input_json, resp_out)
211
-
212
201
  mongo_client.audit_logger("add_device_to_profile", remote_ip, input_json, resp_out, real_ip)
213
202
  resp_out
214
203
  end
@@ -228,16 +217,16 @@ class IotFunctions_2
228
217
  resp_out = {}
229
218
  begin
230
219
  thr2 = Thread.new do
231
- if add_functions_connector.check_input_2(login, imei_list)[:code]==200
220
+ if add_functions_connector.check_input_2(login, imei_list)[:code] == 200
232
221
 
233
222
  for t in imei_list
234
223
  prof_name1 = mongo_client.get_profile_name_from_imei(t)
235
- if prof_name1[:code]==200
224
+ if prof_name1[:code] == 200
236
225
  begin
237
226
  permiss1 = mongo_client.check_login_profile_permiss(login, prof_name1[:body]["profile"])
238
227
  p "permiss1"
239
228
  p permiss1
240
- if permiss1[:code]==200
229
+ if permiss1[:code] == 200
241
230
  ime_list_approved.append(t)
242
231
  else
243
232
  ime_list_notapproved.append({:imei => t, :error => permiss1})
@@ -467,12 +456,12 @@ class IotFunctions_2
467
456
  begin
468
457
  thr4 = Thread.new do
469
458
 
470
- if add_functions_connector.check_input_4(login, imei)[:code]==200
459
+ if add_functions_connector.check_input_4(login, imei)[:code] == 200
471
460
 
472
461
  prof_name = mongo_client.get_profile_name_from_imei(imei)
473
- if prof_name[:code]==200
462
+ if prof_name[:code] == 200
474
463
  permiss = mongo_client.check_login_profile_permiss(login, prof_name[:body]["profile"])
475
- if permiss[:code]==200
464
+ if permiss[:code] == 200
476
465
 
477
466
  ##Logic for IOT Platform connection###
478
467
 
@@ -486,17 +475,17 @@ class IotFunctions_2
486
475
 
487
476
  resp = {}
488
477
 
489
- if credentials[:code]==200
478
+ if credentials[:code] == 200
490
479
 
491
480
  imei_data = mongo_client.get_imei_info_from_db([imei])
492
- if imei_data[:body]!=[]
481
+ if imei_data[:body] != []
493
482
  ans = {}
494
483
  if imei_data[:body][0]["huadata"]["body"]["deviceId"] != nil
495
484
  ans = hua_aceanconnect_connector.remove_one_device_from_iot(credentials[:body][:app_id], credentials[:body][:secret], imei_data[:body][0]["huadata"]["body"]["deviceId"])
496
485
  else
497
486
  ans = {:code => "204", :result => "Not processed by iot platform. deviceId not found in mongoDB"}
498
487
  end
499
- if ans[:code]=="204" or ans[:code]=="200"
488
+ if ans[:code] == "204" or ans[:code] == "200"
500
489
  resp = mongo_client.device_remove_single_mongo(imei)
501
490
  else
502
491
  resp = {:code => 500, :result => "Unknown IOT platform error", :body => ans}
@@ -580,10 +569,8 @@ class IotFunctions_2
580
569
  imei_data = mongo_client.get_imei_info_from_db([p[:imei]])
581
570
  if imei_data[:body]!=[]
582
571
  ans = hua_aceanconnect_connector.modify_location_iot(credentials[:body][:app_id], credentials[:body][:secret], imei_data[:body][0]["huadata"]["body"]["deviceId"], p[:address])
583
-
584
572
  internal_func.printer_texter({:function => "device_add_address Step2", :ans => ans, :descrition => "answer from hua IOT", :input => {:did => imei_data[:body][0]["huadata"]["body"]["deviceId"], :appid => credentials[:body][:app_id], :secret => credentials[:body][:secret], :address => p[:address]}}, "debug")
585
573
  end
586
-
587
574
  end
588
575
 
589
576
  #########end iot platform logic#######
@@ -658,7 +645,7 @@ class IotFunctions_2
658
645
  if attr["profile"].is_a? Integer
659
646
  p "Ok"
660
647
  else
661
- p new = mongo_client.get_profile_id_by_name(attr["profile"])
648
+ p new = mongo_client.get_profile_universal(attr["profile"])
662
649
  attr["profile"] = new["profile_id"]
663
650
  end
664
651
  end
@@ -686,9 +673,7 @@ class IotFunctions_2
686
673
  else
687
674
  resp_out = {:code => 509, :result => "Input data invalid"}
688
675
  end
689
-
690
676
  end
691
-
692
677
  rescue
693
678
  resp_out = {:code => 507, :result => "Unknown SDK error"}
694
679
  end
@@ -745,6 +730,7 @@ class IotFunctions_2
745
730
  permit_profiles = login_info[:body]["permit_profiles"]
746
731
  permit_types = login_info[:body]["permit_types"]
747
732
  data_from_mongo = mongo_client.get_profile_list_by_id(permit_profiles)
733
+ p data_from_mongo
748
734
 
749
735
  for ff in data_from_mongo
750
736
  data_processed.append({:profile_id => ff["profile_id"],
@@ -849,33 +835,47 @@ class IotFunctions_2
849
835
  data_processed = []
850
836
  data_soapgw = []
851
837
  login_info = mongo_client.get_login_inf2_select(login)
838
+ prof_data = mongo_client.get_profile_universal(profile)
852
839
  if login_info[:code]==200
853
840
 
854
841
  permit_profiles = login_info[:body]["permit_profiles"]
855
842
  permit_types = login_info[:body]["permit_types"]
843
+ perm_tp_prof = prof_data["permit_types"]
844
+
845
+ if permit_profiles.include?(prof_data["profile_id"])
846
+ res_types_permitted = internal_func.compare_dict(permit_types, perm_tp_prof)
847
+ data_from_mongo = mongo_client.get_type_list_by_id(res_types_permitted)
848
+
849
+ for ff in data_from_mongo
850
+ data_processed.append({:type_id => ff["type_id"],
851
+ :description => ff["description"],
852
+ :note => ff["note"],
853
+ :form => ff["form"],
854
+ :ManufacturerID => ff["ManufacturerID"],
855
+ :ManufacturerNAME => ff["ManufacturerNAME"],
856
+ :device_type => ff["device_type"],
857
+ :model => ff["model"],
858
+ :info => ff["info"]
859
+ })
860
+ data_soapgw.append({:name => ff["model"], :form => ff["form"], :description => ff["description"], :type_id => ff["type_id"]})
861
+ end
856
862
 
857
- data_from_mongo = mongo_client.get_type_list_by_id(permit_types)
863
+ tosoapgw = {:code => 200,
864
+ :result => "Request completed successfully",
865
+ :types => data_soapgw
866
+ }
858
867
 
859
- for ff in data_from_mongo
860
- data_processed.append({:type_id => ff["type_id"],
861
- :description => ff["description"],
862
- :note => ff["note"],
863
- :form => ff["form"],
864
- :ManufacturerID => ff["ManufacturerID"],
865
- :ManufacturerNAME => ff["ManufacturerNAME"],
866
- :device_type => ff["device_type"],
867
- :model => ff["model"],
868
- :info => ff["info"]
869
- })
870
- data_soapgw.append({:name => ff["model"], :form => ff["form"], :description => ff["description"], :type_id => ff["type_id"]})
868
+ resp_out = {:code => 200, :result => "Request completed successfully", :body => {:data => data_processed, :tosoapgw => tosoapgw}}
869
+
870
+ else
871
+ tosoapgw = {:code => 700,
872
+ :result => "Profile not permitted",
873
+ :types => data_soapgw
874
+ }
875
+ resp_out = {:code => 700, :result => "Profile not permitted", :body => {:tosoapgw => tosoapgw}}
871
876
  end
872
877
 
873
- tosoapgw = {:code => 200,
874
- :result => "Request completed successfully",
875
- :types => data_soapgw
876
- }
877
878
 
878
- resp_out = {:code => 200, :result => "Request completed successfully", :body => {:data => data_processed, :tosoapgw => tosoapgw}}
879
879
  else
880
880
  tosoapgw = {:code => login_info[:code],
881
881
  :result => login_info[:result],
@@ -939,6 +939,8 @@ class IotFunctions_2
939
939
  mon_answer = mongo_client.get_profile_name_by_id(profile)
940
940
  end
941
941
 
942
+ p mon_answer
943
+
942
944
  if mon_answer != {} && mon_answer != []
943
945
  output_answ = {:code => 200, :result => "Request completed successfully", :body => {:data => {:info => mon_answer["info"],
944
946
  :profile => mon_answer["profile"],
@@ -952,7 +954,6 @@ class IotFunctions_2
952
954
  end
953
955
  mongo_client.audit_logger("get_info_data_profile_2", remote_ip, input_params, output_answ, real_ip)
954
956
  output_answ
955
-
956
957
  end
957
958
 
958
959
 
@@ -971,138 +972,163 @@ class IotFunctions_2
971
972
  inp_login = soapgw_params["autorization"]["login"]
972
973
  inp_dev_list = soapgw_params["datalist"]
973
974
 
974
- inp_dev_list.each do |curr_dev|
975
- begin
976
- if curr_dev["imei"] != [] && curr_dev["imei"] != nil && curr_dev["imei"] != ""
977
- list_checked = mongo_client.check_imei_exists([curr_dev["imei"].to_i])
978
- if list_checked[:code] == 200 && list_checked[:body][:exists] != [] && list_checked[:body][:not_exists] == []
979
-
980
- #step1 checking permission for writing for imei list
981
- prof_name1 = mongo_client.get_profile_name_from_imei(curr_dev["imei"].to_i)
982
- if prof_name1[:code] == 200
983
- prof_new_id = mongo_client.get_profile_universal(curr_dev["new_profile"])["profile_id"]
984
-
985
- get_login_info = mongo_client.check_login_prof_perm_id_one(inp_login, prof_name1[:body]["profile_id"])
986
- if get_login_info[:code] == 200
987
- get_login_info_new = mongo_client.check_login_prof_perm_id_one(inp_login, prof_new_id)
988
- if get_login_info_new[:code] == 200
989
-
990
- cur_comp1 = mongo_client.compare_profiles(prof_name1[:body]["profile_id"], prof_new_id)
991
- cur_comp2 = mongo_client.compare_device_types(prof_name1[:imei_info][:body][0]["device_type"], curr_dev["new_type"])
992
-
993
- p cur_comp1
994
- p cur_comp2
995
- if cur_comp1[:is_the_same] && cur_comp2[:is_the_same]
996
- #the same. Nothing to do
997
- processed_list.append(curr_dev)
998
- ########
999
- else
1000
-
1001
- credentials_old = mongo_client.get_iot_oceanconn_credent_2(prof_name1[:body]["profile"])
1002
- credentials_new = mongo_client.get_iot_oceanconn_credent_2(prof_new_id)
1003
- #########
1004
- if credentials_old[:code] == 200 && credentials_new[:code] == 200
1005
- imei_data = mongo_client.get_imei_info_from_db([curr_dev["imei"].to_i])
1006
- if imei_data[:body] != []
1007
- ans = {}
1008
- if imei_data[:body][0]["huadata"]["body"]["deviceId"] != nil
1009
-
1010
- model_data = mongo_client.get_device_type_info_universal(curr_dev["new_type"])
1011
-
1012
- #####all checks completed. then process data#####
1013
- ans_old = hua_aceanconnect_connector.remove_one_device_from_iot(credentials_old[:body][:app_id], credentials_old[:body][:secret], imei_data[:body][0]["huadata"]["body"]["deviceId"])
1014
-
1015
- if ans_old[:code].to_i == 200 || ans_old[:code].to_i == 202 || ans_old[:code].to_i == 204
1016
- begin
1017
- resss = hua_aceanconnect_connector.add_new_device_on_huawei(credentials_new[:body][:app_id],
1018
- credentials_new[:body][:secret],
1019
- curr_dev["imei"].to_i,
1020
- curr_dev["imei"].to_s,
1021
- prof_name1[:body]["description"],
1022
- model_data[:body]["device_type"],
1023
- curr_dev["new_profile"],
1024
- model_data[:body]["ManufacturerID"],
1025
- model_data[:body]["ManufacturerNAME"],
1026
- model_data[:body]["model"]
1027
- )
1028
-
1029
- if resss[:code]=="200"
1030
-
1031
- if resss[:body].key?("error_code") && resss[:body]["error_code"] != 200
1032
- not_processed_list.append({:imei => curr_dev["imei"], :error => resss})
1033
- else
1034
- new_id_iot = resss[:body]
1035
- new_profile_id = prof_new_id
1036
- now_date = DateTime.now
1037
- #finished success. update database
1038
- attribute = {profile: new_profile_id, device_type: model_data[:body]["model"], huadata: {body: new_id_iot}, updated: now_date}
975
+ thr13set = Thread.new do
976
+ inp_dev_list.each do |curr_dev|
977
+ begin
978
+ if curr_dev["imei"] != [] && curr_dev["imei"] != nil && curr_dev["imei"] != ""
979
+ list_checked = mongo_client.check_imei_exists([curr_dev["imei"].to_i])
980
+ if list_checked[:code] == 200 && list_checked[:body][:exists] != [] && list_checked[:body][:not_exists] == []
981
+
982
+ #step1 checking permission for writing for imei list
983
+ prof_name1 = mongo_client.get_profile_name_from_imei(curr_dev["imei"].to_i)
984
+ p prof_name1
985
+ p "prof_name1"
986
+ if prof_name1[:code] == 200
987
+
988
+ if curr_dev["new_profile"] != "nil" && curr_dev["new_profile"] != "null" && curr_dev["new_profile"] != "empty" && curr_dev["new_profile"] != "nill"
989
+ prof_new_id = mongo_client.get_profile_universal(curr_dev["new_profile"])["profile_id"]
990
+ else
991
+ prof_new_id = prof_name1[:body]["profile_id"]
992
+ end
1039
993
 
1040
- answ_mongo = mongo_client.modify_attr_mongo_universal(curr_dev["imei"].to_i, attribute)
994
+ if curr_dev["new_type"] != "nil" && curr_dev["new_type"] != "null" && curr_dev["new_type"] != "empty" && curr_dev["new_type"] != "nill"
995
+ type_new_pr = curr_dev["new_type"]
996
+ else
997
+ type_new_pr = prof_name1[:imei_info][:body][0]["device_type"]
998
+ end
1041
999
 
1042
- if answ_mongo[:code] != 200
1043
- not_processed_list.append({:imei => curr_dev["imei"], :error => "Critical error. Mongo not updated", :mongo_err => answ_mongo})
1000
+ p type_new_pr
1001
+ p prof_new_id
1002
+ p "st111111"
1003
+
1004
+ get_login_info = mongo_client.check_login_prof_perm_id_one(inp_login, prof_name1[:body]["profile_id"])
1005
+ p get_login_info
1006
+ p "get_login_info"
1007
+ if get_login_info[:code] == 200
1008
+ get_login_info_new = mongo_client.check_login_prof_perm_id_one(inp_login, prof_new_id)
1009
+ p get_login_info_new
1010
+ p "get_login_info_new"
1011
+ if get_login_info_new[:code] == 200
1012
+ cur_comp1 = mongo_client.compare_profiles(prof_name1[:body]["profile_id"], prof_new_id)
1013
+ p cur_comp1
1014
+ p "cur_comp1"
1015
+ cur_comp2 = mongo_client.compare_device_types(prof_name1[:imei_info][:body][0]["device_type"], type_new_pr)
1016
+
1017
+
1018
+ p cur_comp2
1019
+ p "cur_comp2"
1020
+
1021
+ if cur_comp1[:is_the_same] && cur_comp2[:is_the_same]
1022
+ #the same. Nothing to do
1023
+ processed_list.append(curr_dev)
1024
+ ########
1025
+ else
1026
+ credentials_old = mongo_client.get_iot_oceanconn_credent_2(prof_name1[:body]["profile"])
1027
+ credentials_new = mongo_client.get_iot_oceanconn_credent_2(prof_new_id)
1028
+ p credentials_new
1029
+ p "credentials_new"
1030
+ #########
1031
+ if credentials_old[:code] == 200 && credentials_new[:code] == 200
1032
+ imei_data = mongo_client.get_imei_info_from_db([curr_dev["imei"].to_i])
1033
+ p imei_data
1034
+ p "imei_data"
1035
+ if imei_data[:body] != []
1036
+ ans = {}
1037
+ if imei_data[:body][0]["huadata"]["body"]["deviceId"] != nil
1038
+ model_data = mongo_client.get_device_type_info_universal(type_new_pr)
1039
+ p model_data
1040
+ p "model_data"
1041
+ #####all checks completed. then process data#####
1042
+ ans_old = hua_aceanconnect_connector.remove_one_device_from_iot(credentials_old[:body][:app_id], credentials_old[:body][:secret], imei_data[:body][0]["huadata"]["body"]["deviceId"])
1043
+
1044
+
1045
+ if ans_old[:code].to_i == 200 || ans_old[:code].to_i == 202 || ans_old[:code].to_i == 204
1046
+ begin
1047
+ resss = hua_aceanconnect_connector.add_new_device_on_huawei(credentials_new[:body][:app_id],
1048
+ credentials_new[:body][:secret],
1049
+ curr_dev["imei"].to_i,
1050
+ curr_dev["imei"].to_s,
1051
+ prof_name1[:body]["description"],
1052
+ model_data[:body]["device_type"],
1053
+ curr_dev["new_profile"],
1054
+ model_data[:body]["ManufacturerID"],
1055
+ model_data[:body]["ManufacturerNAME"],
1056
+ model_data[:body]["model"]
1057
+ )
1058
+ if resss[:code] == "200"
1059
+ if resss[:body].key?("error_code") && resss[:body]["error_code"] != 200
1060
+ not_processed_list.append({:imei => curr_dev["imei"], :error => resss})
1044
1061
  else
1045
- processed_list.append(curr_dev)
1062
+ new_id_iot = resss[:body]
1063
+ new_profile_id = prof_new_id
1064
+ now_date = DateTime.now
1065
+ #finished success. update database
1066
+ attribute = {profile: new_profile_id, device_type: model_data[:body]["model"], huadata: {body: new_id_iot}, updated: now_date}
1067
+ answ_mongo = mongo_client.modify_attr_mongo_universal(curr_dev["imei"].to_i, attribute)
1068
+ if answ_mongo[:code] != 200
1069
+ not_processed_list.append({:imei => curr_dev["imei"], :error => "Critical error. Mongo not updated", :mongo_err => answ_mongo})
1070
+ else
1071
+ processed_list.append(curr_dev)
1072
+ end
1046
1073
  end
1047
-
1048
- #added_on_iot_platf.append(s1)
1074
+ else
1075
+ not_processed_list.append({:imei => curr_dev["imei"], :error => resss})
1049
1076
  end
1050
-
1051
- else
1052
- not_processed_list.append({:imei => curr_dev["imei"], :error => resss})
1077
+ rescue
1078
+ not_processed_list.append({:imei => curr_dev["imei"], :error => "Unknown error with insertion imei on IOT platform"})
1053
1079
  end
1054
- rescue
1055
- not_processed_list.append({:imei => curr_dev["imei"], :error => "Unknown error with insertion imei on IOT platform"})
1080
+ else
1081
+ not_processed_list.append({:imei => curr_dev["imei"], :error => "Something wrong with IOT platform"})
1056
1082
  end
1083
+ else
1084
+ not_processed_list.append({:imei => curr_dev["imei"], :error => "Not processed by iot platform. deviceId not found in mongoDB"})
1057
1085
  end
1058
1086
  else
1059
- not_processed_list.append({:imei => curr_dev["imei"], :error => "Not processed by iot platform. deviceId not found in mongoDB"})
1087
+ not_processed_list.append({:imei => curr_dev["imei"], :error => "Failed to get info from database"})
1060
1088
  end
1061
1089
  else
1062
- not_processed_list.append({:imei => curr_dev["imei"], :error => "Failed to get info from database"})
1090
+ not_processed_list.append({:imei => curr_dev["imei"], :error => "Failed to get credentials from database"})
1063
1091
  end
1064
- else
1065
- not_processed_list.append({:imei => curr_dev["imei"], :error => "Failed to get credentials from database"})
1066
1092
  end
1093
+ else
1094
+ not_processed_list.append({:imei => curr_dev["imei"], :error => "New profile modification not permitted"})
1067
1095
  end
1068
1096
  else
1069
- not_processed_list.append({:imei => curr_dev["imei"], :error => "New profile modification not permitted"})
1097
+ not_processed_list.append({:imei => curr_dev["imei"], :error => "Old profile modification not permitted"})
1070
1098
  end
1071
1099
  else
1072
- not_processed_list.append({:imei => curr_dev["imei"], :error => "Old profile modification not permitted"})
1100
+ not_processed_list.append({:imei => curr_dev["imei"], :error => "Unknown current profile"})
1073
1101
  end
1074
1102
  else
1075
- not_processed_list.append({:imei => curr_dev["imei"], :error => "Unknown current profile"})
1103
+ not_processed_list.append({:imei => curr_dev["imei"], :error => "Device not exists"})
1076
1104
  end
1077
1105
  else
1078
- not_processed_list.append({:imei => curr_dev["imei"], :error => "Device not exists"})
1106
+ not_processed_list.append({:imei => curr_dev["imei"], :error => "IMEI can't be nil"})
1079
1107
  end
1080
- else
1081
- not_processed_list.append({:imei => curr_dev["imei"], :error => "IMEI can't be nil"})
1108
+ rescue
1109
+ not_processed_list.append({:imei => curr_dev["imei"], :error => "Unknown SDK error"})
1082
1110
  end
1083
- rescue
1084
- not_processed_list.append({:imei => curr_dev["imei"], :error => "Unknown SDK error"})
1085
- end
1086
1111
 
1087
- end
1112
+ end
1088
1113
 
1089
- err_li = []
1090
- if not_processed_list.length > 0
1091
- not_processed_list.each do |err_l|
1092
- err_li.append({:failedimei => err_l[:imei]})
1114
+ err_li = []
1115
+ if not_processed_list.length > 0
1116
+ not_processed_list.each do |err_l|
1117
+ err_li.append({:failedimei => err_l[:imei]})
1118
+ end
1093
1119
  end
1094
- end
1095
1120
 
1096
- if processed_list.length > 0
1097
- soap_answ = {:code=>200, :result=>"Success", :body=>{:processednum => processed_list.length, :failednum => not_processed_list.length, :deviceserr => err_li}}
1098
- else
1099
- soap_answ = {:code=>202, :result=>"Nothing done", :body=>{:processednum => 0, :failednum => not_processed_list.length, :deviceserr => err_li}}
1121
+ if processed_list.length > 0
1122
+ answ_to_soapgw = {:code => 200, :result => "Success", :body => {:processednum => processed_list.length, :failednum => not_processed_list.length, :deviceserr => err_li}}
1123
+ else
1124
+ answ_to_soapgw = {:code => 202, :result => "Nothing done", :body => {:processednum => 0, :failednum => not_processed_list.length, :deviceserr => err_li}}
1125
+ end
1100
1126
  end
1127
+ thr13set.join
1101
1128
 
1102
- output_answ = {:code => 200, :result => "Success", :body => {:to_soap_gw => soap_answ, :not_processed_list => not_processed_list, :processed_list => processed_list}}
1129
+ output_answ = {:code => 200, :result => "Success", :body => {:to_soap_gw => answ_to_soapgw, :not_processed_list => not_processed_list, :processed_list => processed_list}}
1103
1130
  mongo_client.audit_logger("set_data_replace_2", remote_ip, input_params, output_answ, real_ip)
1104
1131
  output_answ
1105
-
1106
1132
  end
1107
1133
 
1108
1134
 
@@ -74,6 +74,12 @@ class HuaIot
74
74
  request.body = URI.encode_www_form(data)
75
75
  res = https.request(request)
76
76
  out_resp = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
77
+ fff = {:func => "get_token",
78
+ :iot_fun => "",
79
+ :req_header => {:content_type => 'application/x-www-form-urlencoded',
80
+ :platform => "Huawei oceanconnect"
81
+ }}
82
+ client_iot_mongo.audit_iot_logger(fff, url_string, data, out_resp)
77
83
  rescue
78
84
  out_resp = {:code => 500, :message => "failed get token"}
79
85
  end
@@ -106,6 +112,11 @@ class HuaIot
106
112
  request.body = URI.encode_www_form(data)
107
113
  res = https.request(request)
108
114
  out_resp = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
115
+ fff = {:func => "token_logout",
116
+ :iot_fun => "logout",
117
+ :platform => "Huawei oceanconnect"
118
+ }
119
+ client_iot_mongo.audit_iot_logger(fff, url_string, data, out_resp)
109
120
  rescue
110
121
  out_resp = {:code => 500, :message => "failed logout token"}
111
122
  end
@@ -116,6 +127,7 @@ class HuaIot
116
127
 
117
128
  #Registering a Directly Connected Device (Verification Code Mode) (V2)
118
129
  def dev_register_verif_code_mode(app_id, secret, node_id)
130
+ out_resp = {}
119
131
  token = get_token(app_id, secret)[:body]["accessToken"]
120
132
  path = "/iocm/app/reg/v1.1.0/deviceCredentials?appId=" + app_id
121
133
  url_string = "https://" + platformip + ":" + platformport + path
@@ -129,10 +141,17 @@ class HuaIot
129
141
  request.content_type = 'application/json'
130
142
  request['Authorization'] = 'Bearer ' + token
131
143
  request['app_key'] = app_id
132
- request.body = {nodeId: node_id}.to_json
144
+ data = {nodeId: node_id}
145
+ request.body = data.to_json
133
146
  res = https.request(request)
134
- p res.body.to_s
135
- {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
147
+ out_resp = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
148
+ fff = {:func => "dev_register_verif_code_mode",
149
+ :iot_fun => "Registering a Directly Connected Device (Verification Code Mode) (V2)",
150
+ :req_header => {:content_type => 'application/json',
151
+ :platform => "Huawei oceanconnect"
152
+ }}
153
+ client_iot_mongo.audit_iot_logger(fff, url_string, data, out_resp)
154
+ out_resp
136
155
  end
137
156
 
138
157
  #2.2.4 Registering a Directly Connected Device (Password Mode) (V2)
@@ -168,7 +187,8 @@ class HuaIot
168
187
  :iot_fun => "2.2.4",
169
188
  :req_header => {:authorization => 'Bearer ' + token,
170
189
  :content_type => 'application/json',
171
- :app_key => app_id
190
+ :app_key => app_id,
191
+ :platform => "Huawei oceanconnect"
172
192
  }}
173
193
  client_iot_mongo.audit_iot_logger(fff, url_string, data_out, out_resp)
174
194
  out_resp
@@ -191,13 +211,21 @@ class HuaIot
191
211
  request.content_type = 'application/json'
192
212
  request['Authorization'] = 'Bearer ' + token
193
213
  request['app_key'] = app_id
194
- data_out = {deviceInfo: attr_list}.to_json
214
+ data = {deviceInfo: attr_list}
215
+ data_out = data.to_json
195
216
  internal_func.printer_texter({:procedure => "dev_register_passw_code_mode2", :data => {:body => data_out, :url => url_string}}, "debug")
196
217
  request.body = data_out
197
218
  res = https.request(request)
198
219
  p res.body.to_s
199
220
  out_resp = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
200
- p out_resp
221
+ fff = {:func => "dev_reg_passw_code_mode2_2",
222
+ :iot_fun => "2.2.4",
223
+ :req_header => {:content_type => 'application/json',
224
+ :authorization => 'Bearer ' + token,
225
+ :app_key => app_id,
226
+ :platform => "Huawei oceanconnect"
227
+ }}
228
+ client_iot_mongo.audit_iot_logger(fff, url_string, data, out_resp)
201
229
  out_resp
202
230
  end
203
231
 
@@ -220,26 +248,22 @@ class HuaIot
220
248
  request['Authorization'] = 'Bearer ' + token
221
249
  request['app_key'] = app_id
222
250
  res = https.request(request)
223
- p "res.code"
224
- p res.code
225
- p res.body
226
251
  if res.body != nil
227
252
  out_resp = {:code => res.code, :message => res.message, :body => {:answ => JSON.parse(res.body.to_s)}}
228
253
  else
229
254
  out_resp = {:code => res.code, :message => res.message, :body => {:answ => "no data"}}
230
255
  end
231
-
232
256
  fff = {:func => "dev_delete",
233
257
  :iot_fun => "2.2.12",
234
258
  :req_header => {:authorization => 'Bearer ' + token,
235
259
  :content_type => 'application/json',
236
- :app_key => app_id
260
+ :app_key => app_id,
261
+ :platform => "Huawei oceanconnect"
237
262
  }}
238
263
  client_iot_mongo.audit_iot_logger(fff, url_string, "Delete", out_resp)
239
264
  rescue
240
265
  out_resp = {:code => 500, :message => "dev_delete: Unknown IOT error"}
241
266
  end
242
- p out_resp
243
267
  out_resp
244
268
  end
245
269
 
@@ -271,6 +295,7 @@ class HuaIot
271
295
 
272
296
  #2.2.14 Querying Device Activation Status
273
297
  def querying_device_activ_status(app_id, secret, device_id)
298
+ output_ans = {}
274
299
  token = get_token(app_id, secret)[:body]["accessToken"]
275
300
  path = "/iocm/app/reg/v1.1.0/devices/" + device_id + "?app_Id=" + app_id
276
301
  url_string = "https://" + platformip + ":" + platformport + path
@@ -285,12 +310,22 @@ class HuaIot
285
310
  request['Authorization'] = 'Bearer ' + token
286
311
  request['app_key'] = app_id
287
312
  res = https.request(request)
288
- {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
313
+ output_ans = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
314
+ fff = {:func => "querying_device_activ_status",
315
+ :iot_fun => "2.2.14",
316
+ :req_header => {:content_type => 'application/json',
317
+ :authorization => 'Bearer ' + token,
318
+ :app_key => app_id,
319
+ :platform => "Huawei oceanconnect"
320
+ }}
321
+ client_iot_mongo.audit_iot_logger(fff, url_string, data, output_ans)
322
+ output_ans
289
323
  end
290
324
 
291
325
 
292
326
  #2.9.1 Querying Information About a Device
293
327
  def querying_device_info(app_id, secret, device_id)
328
+ out_resp = {}
294
329
  token = get_token(app_id, secret)[:body]["accessToken"]
295
330
  path = "/iocm/app/dm/v1.1.0/devices/" + device_id + "?app_Id=" + app_id
296
331
  url_string = "https://" + platformip + ":" + platformport + path
@@ -305,11 +340,21 @@ class HuaIot
305
340
  request['Authorization'] = 'Bearer ' + token
306
341
  request['app_key'] = app_id
307
342
  res = https.request(request)
308
- {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
343
+ out_resp = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
344
+ fff = {:func => "querying_device_info",
345
+ :iot_fun => "2.9.1",
346
+ :req_header => {:authorization => 'Bearer ' + token,
347
+ :content_type => 'application/json',
348
+ :app_key => app_id,
349
+ :platform => "Huawei oceanconnect"
350
+ }}
351
+ client_iot_mongo.audit_iot_logger(fff, url_string, "Get", out_resp)
352
+ out_resp
309
353
  end
310
354
 
311
355
  #2.9.6 Querying Directly Connected Devices and Their Mounted Devices in Batches
312
356
  def querying_device_direct_conn(app_id, secret, dev_list)
357
+ output_str = {}
313
358
  token = get_token(app_id, secret)[:body]["accessToken"]
314
359
  path = "/iocm/app/dm/v1.1.0/queryDevicesByIds"
315
360
  url_string = "https://" + platformip + ":" + platformport + path
@@ -323,14 +368,25 @@ class HuaIot
323
368
  request.content_type = 'application/json'
324
369
  request['Authorization'] = 'Bearer ' + token
325
370
  request['app_key'] = app_id
326
- request.body = {deviceIds: dev_list}.to_json
371
+ req_body = {deviceIds: dev_list}
372
+ request.body = req_body.to_json
327
373
  res = https.request(request)
328
- {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
374
+ output_str = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
375
+ fff = {:func => "querying_device_direct_conn",
376
+ :iot_fun => "2.9.6",
377
+ :req_header => {:authorization => 'Bearer ' + token,
378
+ :content_type => 'application/json',
379
+ :app_key => app_id,
380
+ :platform => "Huawei oceanconnect"
381
+ }}
382
+ client_iot_mongo.audit_iot_logger(fff, url_string, req_body, output_str)
383
+ output_str
329
384
  end
330
385
 
331
386
 
332
387
  #2.9.19 Querying the Complete Device Type List of All Device Capabilities
333
388
  def querying_device_type_list(app_id, secret)
389
+ output_ans = {}
334
390
  token = get_token(app_id, secret)[:body]["accessToken"]
335
391
  path = "/iocm/app/profile/v1.1.0/allDeviceTypes"
336
392
  url_string = "https://" + platformip + ":" + platformport + path
@@ -345,13 +401,24 @@ class HuaIot
345
401
  request['Authorization'] = 'Bearer ' + token
346
402
  request['app_key'] = app_id
347
403
  res = https.request(request)
348
- {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
404
+ output_ans = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
405
+
406
+ fff = {:func => "querying_device_type_list",
407
+ :iot_fun => "2.9.19",
408
+ :req_header => {:content_type => 'application/json',
409
+ :authorization => 'Bearer ' + token,
410
+ :app_key => app_id,
411
+ :platform => "Huawei oceanconnect"
412
+ }}
413
+ client_iot_mongo.audit_iot_logger(fff, url_string, "Get", output_ans)
414
+ output_ans
415
+
349
416
  end
350
417
 
351
418
 
352
419
  #2.9.6 Querying Directly Connected Devices and Their Mounted Devices in Batches
353
420
  def quer_dev_direct_conn_batches(app_id, dev_list, token)
354
-
421
+ output_ans = {}
355
422
  path = "/iocm/app/dm/v1.1.0/queryDevicesByIds"
356
423
  url_string = "https://" + platformip + ":" + platformport + path
357
424
  p url_string
@@ -365,10 +432,19 @@ class HuaIot
365
432
  request.content_type = 'application/json'
366
433
  request['Authorization'] = 'Bearer ' + token
367
434
  request['app_key'] = app_id
368
- request.body = {deviceIds: dev_list}.to_json
435
+ data = {deviceIds: dev_list}
436
+ request.body = data.to_json
369
437
  res = https.request(request)
370
- {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
371
-
438
+ output_ans = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
439
+ fff = {:func => "quer_dev_direct_conn_batches",
440
+ :iot_fun => "2.9.6",
441
+ :req_header => {:content_type => 'application/json',
442
+ :authorization => 'Bearer ' + token,
443
+ :app_key => app_id,
444
+ :platform => "Huawei oceanconnect"
445
+ }}
446
+ client_iot_mongo.audit_iot_logger(fff, url_string, data, output_ans)
447
+ output_ans
372
448
  end
373
449
 
374
450
 
@@ -390,7 +466,8 @@ class HuaIot
390
466
  request.content_type = 'application/json'
391
467
  request['Authorization'] = 'Bearer ' + token
392
468
  request['app_key'] = app_id
393
- request.body = {location: address}.to_json
469
+ req_b = {location: address}
470
+ request.body = req_b.to_json
394
471
  res = https.request(request)
395
472
  p res.code
396
473
  p res.body
@@ -399,6 +476,14 @@ class HuaIot
399
476
  else
400
477
  out_resp = {:code => res.code, :message => res.message, :body => {:answ => "no data"}}
401
478
  end
479
+ fff = {:func => "dev_modify_location_v2",
480
+ :iot_fun => "2.2.11",
481
+ :req_header => {:authorization => 'Bearer ' + token,
482
+ :content_type => 'application/json',
483
+ :app_key => app_id,
484
+ :platform => "Huawei oceanconnect"
485
+ }}
486
+ client_iot_mongo.audit_iot_logger(fff, url_string, req_b, out_resp)
402
487
  rescue
403
488
  out_resp = {:code => 500, :message => "dev_modify_location_v2: Unknown IOT error"}
404
489
  end
@@ -155,6 +155,14 @@ class InternalFunc
155
155
  answer
156
156
  end
157
157
 
158
+ #compare dictionaries
159
+ def compare_dict(dict1, dict2)
160
+ v1 = dict1 - dict2
161
+ v2 = dict2 - dict1
162
+ v3 = dict2 + dict1
163
+ v3.uniq - v2.uniq - v1.uniq
164
+ end
165
+
158
166
  def test()
159
167
  p "eeeeeeeeeeeeeeeeeeeeeeee"
160
168
  end
@@ -194,7 +194,7 @@ class MongoIot
194
194
  begin
195
195
  result_ps = []
196
196
  collection = client[:device_profiles]
197
- collection.find({"profile_id" => profile_id}).each {|row|
197
+ collection.find({"profile_id" => profile_id.to_i}).each {|row|
198
198
  result_ps.append(row)
199
199
  }
200
200
  result_ps[0]
@@ -238,7 +238,7 @@ class MongoIot
238
238
  begin
239
239
  result_ps = []
240
240
  collection = client[:device_types]
241
- collection.find({"type_id" => type_id}).each {|row|
241
+ collection.find({"type_id" => type_id.to_i}).each {|row|
242
242
  result_ps.append(row)
243
243
  }
244
244
  result_ps[0]
@@ -260,19 +260,20 @@ class MongoIot
260
260
  end
261
261
  end
262
262
 
263
+ #universal procedure. might be profile id or name
263
264
  def check_login_profile_permiss(login, profile)
264
265
  out_resp = {}
265
266
  get_login_info = get_profiles_by_login(login)
266
- if get_login_info[:code]==200
267
- dst_profile = get_profile_id_by_name(profile)
268
- access=1
269
- if get_login_info[:body]!=[]
270
- if dst_profile!=[]
267
+ if get_login_info[:code] == 200
268
+ dst_profile = get_profile_universal(profile)
269
+ access = 1
270
+ if get_login_info[:body] != []
271
+ if dst_profile != []
271
272
  for j in get_login_info[:body]
272
- if j["profile_id"].to_i==dst_profile["profile_id"].to_i
273
- access=0
273
+ if j["profile_id"].to_i == dst_profile["profile_id"].to_i
274
+ access = 0
274
275
  end
275
- if access==0
276
+ if access == 0
276
277
  out_resp = {:code => 200, :result => "check_login_profile_permiss: Permission granted"}
277
278
  else
278
279
  out_resp = {:code => 400, :result => "check_login_profile_permiss: Access denied. This incident will be reported."}
@@ -292,13 +293,15 @@ class MongoIot
292
293
  end
293
294
 
294
295
 
296
+ #universal procedure. You can use profile id or profile name as profile_id (string or int)
295
297
  def check_login_prof_perm_id_one(login, profile_id)
296
298
  out_resp = {}
297
299
  get_login_info = get_profiles_by_login(login)
300
+ profile_data = self.get_profile_universal(profile_id)
298
301
  access=1
299
302
  if get_login_info[:body]!=[]
300
303
  for j in get_login_info[:body]
301
- if j["profile_id"].to_i==profile_id.to_i
304
+ if j["profile_id"].to_i==profile_data["profile_id"]
302
305
  access=0
303
306
  end
304
307
  if access==0
@@ -340,7 +343,7 @@ class MongoIot
340
343
  description: "test imei",
341
344
  note: "second description",
342
345
  profile: 0,
343
- type: 0,
346
+ device_type: 0,
344
347
  address: "unknown"
345
348
  }
346
349
  result = collection.insert_one(l)
@@ -363,7 +366,7 @@ class MongoIot
363
366
  description: "test imei",
364
367
  note: "second description",
365
368
  profile: 0,
366
- type: 0,
369
+ device_type: 0,
367
370
  address: "unknown"
368
371
  }
369
372
  result = collection.insert_one(l)
@@ -501,6 +504,7 @@ class MongoIot
501
504
 
502
505
 
503
506
  #function for get iot platform credentials from profile
507
+ #universal procedure. use profile or profile id
504
508
  def get_iot_oceanconn_credent_2(profile)
505
509
  out_resp = {}
506
510
  begin
@@ -548,6 +552,7 @@ class MongoIot
548
552
  out_resp
549
553
  end
550
554
 
555
+ #universal procedure. Use id or name
551
556
  def get_device_type_info_universal(device_model)
552
557
  out_resp = {}
553
558
  begin
@@ -632,6 +637,9 @@ class MongoIot
632
637
  out_answ = {}
633
638
  tp1 = internal_func.if_digit_or_string(type1)
634
639
  tp2 = internal_func.if_digit_or_string(type2)
640
+ p tp1
641
+ p tp2
642
+ p "tp"
635
643
 
636
644
  if tp1[:body][:string] == tp2[:body][:string] && tp1[:body][:string] == false
637
645
  if type1.to_i == type2.to_i
@@ -648,6 +656,7 @@ class MongoIot
648
656
  else
649
657
  tp1_data = {}
650
658
  tp2_data = {}
659
+ p "gggggggg"
651
660
  if tp1[:body][:string]
652
661
  tp1_data = self.get_type_by_name(type1)
653
662
  else
@@ -660,6 +669,11 @@ class MongoIot
660
669
  tp2_data = self.get_type_by_id(type2.to_i)
661
670
  end
662
671
 
672
+ p tp1_data
673
+ p tp2_data
674
+ p type1
675
+ p type2
676
+
663
677
  if tp1_data["type_id"] == tp2_data["type_id"]
664
678
  out_answ = {:code => 200, :result => "compare_device_types: profiles are the same", :is_the_same => true, :data_type => "different"}
665
679
  else
@@ -670,6 +684,7 @@ class MongoIot
670
684
  end
671
685
 
672
686
 
687
+ #universal procedure. put there profile name or id in string or int
673
688
  def get_profile_universal(profile)
674
689
  inn = internal_func.if_digit_or_string(profile)
675
690
  out = {}
@@ -1,3 +1,4 @@
1
1
  module Imperituroard
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.7"
3
3
  end
4
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imperituroard
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dzmitry Buynovskiy
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-06-07 00:00:00.000000000 Z
11
+ date: 2020-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -187,6 +187,7 @@ extra_rdoc_files: []
187
187
  files:
188
188
  - ".gitignore"
189
189
  - ".idea/runConfigurations/hua_oceanconnect_adapter.xml"
190
+ - ".idea/runConfigurations/version.xml"
190
191
  - ".ruby-gemset"
191
192
  - ".ruby-version"
192
193
  - ".travis.yml"