imperituroard 1.1.4 → 1.1.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.idea/runConfigurations/autovpn.xml +21 -0
- data/imperituroard.gemspec +1 -1
- data/lib/.DS_Store +0 -0
- data/lib/imperituroard.rb +57 -5
- data/lib/imperituroard/.DS_Store +0 -0
- data/lib/imperituroard/add_functions/logger/any_functions.rb +4 -2
- data/lib/imperituroard/platforms/iwag/get_iwag_data.rb +90 -0
- data/lib/imperituroard/platforms/iwag/iwag_database_worker.rb +24 -0
- data/lib/imperituroard/platforms/staros/staros_automation.rb +1 -1
- data/lib/imperituroard/projects/autovpn.rb +27 -0
- data/lib/imperituroard/projects/{vpn/ezuev_fun → autovpn}/functions_ezuev.rb +0 -0
- data/lib/imperituroard/projects/autovpn/mongo_vpn.rb +56 -0
- data/lib/imperituroard/projects/iot.rb +3 -2
- data/lib/imperituroard/projects/iot/add_functions.rb +2 -2
- data/lib/imperituroard/projects/iot/hua_oceanconnect_adapter.rb +25 -21
- data/lib/imperituroard/projects/iot/internal_functions.rb +5 -4
- data/lib/imperituroard/projects/mhub.rb +77 -9
- data/lib/imperituroard/projects/mhub/gms.rb +96 -0
- data/lib/imperituroard/projects/mhub/sk.rb +10 -15
- data/lib/imperituroard/projects/mhub/subs/dabrab/dabrab_platform.rb +5 -4
- data/lib/imperituroard/projects/mhub/subs/dabrab/dabrab_proced.rb +23 -21
- data/lib/imperituroard/projects/mhub/subs/evrotorg/gms_connector.rb +69 -0
- data/lib/imperituroard/projects/ukaz60.rb +4 -2
- data/lib/imperituroard/projects/ukaz60/belgim.rb +1 -1
- data/lib/imperituroard/projects/ukaz60/fortigate.rb +1 -1
- data/lib/imperituroard/projects/ukaz60/staros.rb +5 -5
- data/lib/imperituroard/projects/ukaz60/ukaz60_add_func.rb +50 -4
- data/lib/imperituroard/version.rb +1 -1
- metadata +14 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 06a24d95016bbc1c495cb86ef3f2cbebd39bfa21
|
4
|
+
data.tar.gz: 647278e86d5ec1f44cf808e8c3a63f7f1c4c7b64
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 74ae2cf7887f78b327956031bf5babab5ab78477b094b1f866ec6b43fd00796cf1a766cf21980507152434aafd9918917b3877f7adb62d15c7edee812c4deafa
|
7
|
+
data.tar.gz: 144a7e259528a7fa57a6f4f81a558e0604d1957cf294cf7479d8bfa35b896849bc216180180c6e418bc8672d031674d97d6f9c1ff729b2adbc1f37a98be66624
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<component name="ProjectRunConfigurationManager">
|
2
|
+
<configuration default="false" name="autovpn" 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/projects" />
|
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/projects/autovpn.rb" />
|
18
|
+
<RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="" />
|
19
|
+
<method />
|
20
|
+
</configuration>
|
21
|
+
</component>
|
data/imperituroard.gemspec
CHANGED
data/lib/.DS_Store
CHANGED
Binary file
|
data/lib/imperituroard.rb
CHANGED
@@ -25,6 +25,7 @@ require 'imperituroard/projects/dns'
|
|
25
25
|
require 'imperituroard/platforms/cps/qps_connector'
|
26
26
|
require 'imperituroard/platforms/public/telegram'
|
27
27
|
require 'imperituroard/projects/ukaz60'
|
28
|
+
require 'imperituroard/projects/mhub/gms'
|
28
29
|
|
29
30
|
require 'json'
|
30
31
|
require 'ipaddr'
|
@@ -269,6 +270,17 @@ class Iot
|
|
269
270
|
iot_connector.set_data_replace_2(soapgw_params, real_ip, remote_ip)
|
270
271
|
end
|
271
272
|
|
273
|
+
#14 integration with SPA
|
274
|
+
# add imei to correct profile
|
275
|
+
def spa_service_set(soapgw_params, real_ip, remote_ip)
|
276
|
+
#imei
|
277
|
+
#imsi
|
278
|
+
#msisdn
|
279
|
+
#unp
|
280
|
+
#note
|
281
|
+
#descriptiot
|
282
|
+
end
|
283
|
+
|
272
284
|
|
273
285
|
def logger_to_audit_database(proc_name, src_ip, input_json, output_json, real_ip)
|
274
286
|
mongo_client.audit_logger(proc_name, src_ip, input_json, output_json, real_ip)
|
@@ -299,19 +311,21 @@ class Mhub_2
|
|
299
311
|
:internal_func,
|
300
312
|
:dabrab_connecter,
|
301
313
|
:static_callback,
|
302
|
-
:crm_connector
|
314
|
+
:crm_connector,
|
315
|
+
:log_level
|
303
316
|
|
304
|
-
def initialize(sk_url_simple, sk_login, sk_password, telegram_api_url, telegram_chat_id, sk_url_broadcast, static_callback, crm_callback_url, crm_login, crm_password, sms_alphaname)
|
317
|
+
def initialize(sk_url_simple, sk_login, sk_password, telegram_api_url, telegram_chat_id, sk_url_broadcast, static_callback, crm_callback_url, crm_login, crm_password, sms_alphaname, log_level)
|
305
318
|
@sk_url = sk_url_simple
|
306
319
|
@sk_login = sk_login
|
307
320
|
@sk_password = sk_password
|
321
|
+
@log_level = log_level
|
308
322
|
@internal_func = InternalFunc.new
|
309
|
-
@mhub_connector = Sksk_2.new(sk_url_simple, sk_login, sk_password, sk_url_broadcast, telegram_api_url, telegram_chat_id)
|
323
|
+
@mhub_connector = Sksk_2.new(sk_url_simple, sk_login, sk_password, sk_url_broadcast, telegram_api_url, telegram_chat_id, log_level)
|
310
324
|
@internal_func = InternalFunc.new
|
311
325
|
@dabrab_connecter = Dabrab.new
|
312
326
|
@static_callback = static_callback
|
313
|
-
@crm_connector = Crm_2.new(crm_callback_url, crm_login, crm_password, telegram_api_url, telegram_chat_id)
|
314
|
-
@mhub_connector = MhubFunctions_2.new(sk_url_simple, sk_login, sk_password, telegram_api_url, telegram_chat_id, sk_url_broadcast, static_callback, crm_callback_url, crm_login, crm_password, sms_alphaname)
|
327
|
+
@crm_connector = Crm_2.new(crm_callback_url, crm_login, crm_password, telegram_api_url, telegram_chat_id, log_level)
|
328
|
+
@mhub_connector = MhubFunctions_2.new(sk_url_simple, sk_login, sk_password, telegram_api_url, telegram_chat_id, sk_url_broadcast, static_callback, crm_callback_url, crm_login, crm_password, sms_alphaname, log_level)
|
315
329
|
end
|
316
330
|
|
317
331
|
#{"destinations"=>[{"to"=>{"phoneNumber"=>"375297116638", "emailAddress"=>nil}}],
|
@@ -327,6 +341,10 @@ class Mhub_2
|
|
327
341
|
mhub_connector.get_send_message_2(params, ip_src, ip_real, ip_vip)
|
328
342
|
end
|
329
343
|
|
344
|
+
def get_send_message_mass(params, ip_src, ip_real, ip_vip)
|
345
|
+
mhub_connector.get_send_message_mass_2(params, ip_src, ip_real, ip_vip)
|
346
|
+
end
|
347
|
+
|
330
348
|
def recieve_delivery_report(params, ip_src, ip_real, ip_vip)
|
331
349
|
mhub_connector.rec_deliv_report_2(params, ip_src, ip_real, ip_vip)
|
332
350
|
end
|
@@ -334,6 +352,26 @@ class Mhub_2
|
|
334
352
|
end
|
335
353
|
|
336
354
|
|
355
|
+
#2020.09.02 function for some procedure for get message status
|
356
|
+
class GmsFunctions_2
|
357
|
+
|
358
|
+
attr_accessor :gms_func
|
359
|
+
|
360
|
+
def initialize(gms_t_login, gms_t_password, gms_r_login, gms_r_password, telegram_api_url, telegram_chat_id)
|
361
|
+
@gms_func = Gmsgms_2.new(gms_t_login, gms_t_password, gms_r_login, gms_r_password, telegram_api_url, telegram_chat_id)
|
362
|
+
end
|
363
|
+
|
364
|
+
def get_t_status_external(external_id)
|
365
|
+
gms_func.get_t_status_external_2(external_id)
|
366
|
+
end
|
367
|
+
|
368
|
+
def get_r_status_external(external_id)
|
369
|
+
gms_func.get_r_status_external_2(external_id)
|
370
|
+
end
|
371
|
+
|
372
|
+
end
|
373
|
+
|
374
|
+
|
337
375
|
class CpsFunctions_2
|
338
376
|
|
339
377
|
attr_accessor :qps_connector
|
@@ -431,3 +469,17 @@ class Ukaz60Automation_2
|
|
431
469
|
end
|
432
470
|
|
433
471
|
end
|
472
|
+
|
473
|
+
|
474
|
+
class Autovpn
|
475
|
+
attr_accessor :vpn_connector
|
476
|
+
|
477
|
+
def initialize (mongo_vpn_ip, mongo_vpn_port, mongo_vpn_database)
|
478
|
+
@vpn_connector = Autovpn.new(mongo_vpn_ip, mongo_vpn_port, mongo_vpn_database)
|
479
|
+
end
|
480
|
+
|
481
|
+
def vpn_add_msisdn_by_example(new_msisdn, example_msisdn)
|
482
|
+
vpn_connector.vpn_add_msisdn_by_example_2(new_msisdn, example_msisdn)
|
483
|
+
end
|
484
|
+
|
485
|
+
end
|
data/lib/imperituroard/.DS_Store
CHANGED
Binary file
|
@@ -14,8 +14,10 @@ class LogAddFunctions_2
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def printer_texter(text, log_level)
|
17
|
-
|
18
|
-
|
17
|
+
if log_level == debug
|
18
|
+
mess = {:datetime => datetimenow, :sdk => "imperituroard", :sdk_version => Imperituroard::VERSION, :message => text}
|
19
|
+
p mess
|
20
|
+
end
|
19
21
|
end
|
20
22
|
|
21
23
|
|
@@ -0,0 +1,90 @@
|
|
1
|
+
require 'net/ssh'
|
2
|
+
|
3
|
+
class IwagRequester
|
4
|
+
|
5
|
+
attr_accessor :iwag_host, :iwag_login, :iwag_password
|
6
|
+
|
7
|
+
def initialize(iwag_host, iwag_login, iwag_password)
|
8
|
+
@iwag_host = iwag_host
|
9
|
+
@iwag_login = iwag_login
|
10
|
+
@iwag_password = iwag_password
|
11
|
+
end
|
12
|
+
|
13
|
+
def mac_parse(mac)
|
14
|
+
a = mac.upcase
|
15
|
+
pos = a[0] + a[1]
|
16
|
+
if pos == "01"
|
17
|
+
subscribers_mac = a[2] + a[3] + ":" + a[5] + a[6] + ":" + a[7] + a[8] + ":" + a[10] + a[11] + ":" + a[12] + a[13] + ":" + a[15] + a[16]
|
18
|
+
else
|
19
|
+
subscribers_mac = a[0] + a[1] + ":" + a[2] + a[3] + ":" + a[5] + a[6] + ":" + a[7] + a[8] + ":" + a[10] + a[11] + ":" + a[12] + a[13]
|
20
|
+
end
|
21
|
+
subscribers_mac
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
def iwag_get_dhcp_binding_ssh(bind_ip)
|
26
|
+
mac = "Unknown"
|
27
|
+
accessinterface = "Unknown"
|
28
|
+
hostname = "Unknown"
|
29
|
+
ssid = "Unknown"
|
30
|
+
iwag_thr = Thread.new do
|
31
|
+
Net::SSH.start(iwag_host, iwag_login, :password => iwag_password) do |session|
|
32
|
+
answ_bind = session.exec!("show ip dhcp binding #{bind_ip}")
|
33
|
+
regexp_main = /\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}\s{1,20}(\w{2,4}.\w{2,4}.\w{2,4}.\w{2,4})|\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}\s{1,20}(\w{4}.\w{4}.\w{4})/
|
34
|
+
#regexp_main = /\r\n(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})\s+(\S{13,18})\s+Sep 18 2020 07:44 PM\s+Automatic\s+Active\s+Tunnel201\r\n/
|
35
|
+
ggg7 = answ_bind.match(regexp_main)
|
36
|
+
begin
|
37
|
+
if ggg7[1] != nil
|
38
|
+
mac = mac_parse(ggg7[1])
|
39
|
+
else
|
40
|
+
mac = mac_parse(ggg7[2])
|
41
|
+
end
|
42
|
+
rescue
|
43
|
+
mac = "Unknown"
|
44
|
+
end
|
45
|
+
regexp_remote_id = /Remote id :\s(\S{2,100})/
|
46
|
+
regexp_tunnel = /Active\s{2,40}(\S{2,40})|Selecting\s{2,40}(\S{2,40})/
|
47
|
+
regexp_curcuit_id = /Circuit id :\s(\S{2,100})/
|
48
|
+
ggg9 = answ_bind.match(regexp_tunnel)
|
49
|
+
|
50
|
+
begin
|
51
|
+
if ggg9[1] != nil
|
52
|
+
accessinterface = ggg9[1]
|
53
|
+
else
|
54
|
+
accessinterface = ggg9[2]
|
55
|
+
end
|
56
|
+
rescue
|
57
|
+
accessinterface = "Unknown"
|
58
|
+
end
|
59
|
+
ggg8 = answ_bind.match(regexp_remote_id)
|
60
|
+
ggg10 = answ_bind.match(regexp_curcuit_id)
|
61
|
+
begin
|
62
|
+
a1 = ggg8[1].split(":")
|
63
|
+
hostname = a1[0]
|
64
|
+
ssid = a1[1]
|
65
|
+
rescue
|
66
|
+
begin
|
67
|
+
if ggg8[1] != nil
|
68
|
+
if ggg8[1].include?("wireless_public_interface")
|
69
|
+
hostname = ggg10[1]
|
70
|
+
ssid = "Unknown"
|
71
|
+
else
|
72
|
+
hostname = ggg8[1]
|
73
|
+
ssid = "Unknown"
|
74
|
+
end
|
75
|
+
else
|
76
|
+
ssid = "Unknown"
|
77
|
+
hostname = "Unknown"
|
78
|
+
end
|
79
|
+
rescue
|
80
|
+
ssid = "Unknown"
|
81
|
+
hostname = "Unknown"
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
iwag_thr.join
|
87
|
+
{"mac": mac, "iwaginterface": accessinterface, "aphostname": hostname, "SSID": ssid}
|
88
|
+
end
|
89
|
+
|
90
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
class IwagDbCache
|
4
|
+
|
5
|
+
attr_accessor :db_host, :db_login, :db_password
|
6
|
+
|
7
|
+
def initialize(db_host, db_login, db_password)
|
8
|
+
@db_host = db_host
|
9
|
+
@db_login = db_login
|
10
|
+
@db_password = db_password
|
11
|
+
end
|
12
|
+
|
13
|
+
def check_db_exists(ip)
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
def insert_new_cache()
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
|
23
|
+
end
|
24
|
+
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'imperituroard/projects/autovpn/mongo_vpn'
|
2
|
+
|
3
|
+
class Autovpn
|
4
|
+
|
5
|
+
attr_accessor :mongo_client
|
6
|
+
|
7
|
+
def initialize(mongo_vpn_ip, mongo_vpn_port, mongo_vpn_database)
|
8
|
+
@mongo_client = MongoVpn.new(mongo_vpn_ip, mongo_vpn_port, mongo_vpn_database)
|
9
|
+
end
|
10
|
+
|
11
|
+
def vpn_add_msisdn_by_example_2(new_msisdn, example_msisdn)
|
12
|
+
|
13
|
+
end
|
14
|
+
|
15
|
+
def test
|
16
|
+
mongo_client.get_mongo_msisdn("375298766719")
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
vvv = Autovpn.new("172.24.210.177",
|
23
|
+
"27017",
|
24
|
+
"autovpn"
|
25
|
+
)
|
26
|
+
|
27
|
+
vvv.test
|
File without changes
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'mongo'
|
2
|
+
|
3
|
+
require 'json'
|
4
|
+
require 'rubygems'
|
5
|
+
require 'nokogiri'
|
6
|
+
require 'rails'
|
7
|
+
|
8
|
+
require 'imperituroard/add_functions/logger/any_functions'
|
9
|
+
|
10
|
+
class MongoVpn
|
11
|
+
|
12
|
+
attr_accessor :mongo_vpn_ip, :mongo_vpn_port, :client_vpn, :mongo_vpn_database, :internal_vpn_func, :logger_any
|
13
|
+
|
14
|
+
def initialize(mongo_vpn_ip, mongo_vpn_port, mongo_vpn_database)
|
15
|
+
@mongo_vpn_database = mongo_vpn_database
|
16
|
+
@mongo_vpn_ip = mongo_vpn_ip
|
17
|
+
@mongo_vpn_port = mongo_vpn_port
|
18
|
+
client_vpn_host = [mongo_vpn_ip + ":" + mongo_vpn_port]
|
19
|
+
@client_vpn = Mongo::Client.new(client_vpn_host, :database => mongo_vpn_database)
|
20
|
+
@logger_any = LogAddFunctions_2.new
|
21
|
+
end
|
22
|
+
|
23
|
+
#get data by msisdn. Validate data from collection msisdn_list
|
24
|
+
def get_mongo_msisdn(msisdn)
|
25
|
+
out_resp = {}
|
26
|
+
begin
|
27
|
+
msisdn_data = []
|
28
|
+
collection = client_vpn[:msisdn_list]
|
29
|
+
collection.find({:msisdn => msisdn.to_s}).each {|row|
|
30
|
+
msisdn_data = row
|
31
|
+
}
|
32
|
+
if msisdn_data != [] && msisdn_data["msisdn"] != nil && msisdn_data["msisdn"] != ""
|
33
|
+
if msisdn_data["group_id"] != [] && msisdn_data["group_id"] != nil && msisdn_data["group_id"] != ""
|
34
|
+
if msisdn_data["profile_id"] != [] && msisdn_data["profile_id"] != nil && msisdn_data["profile_id"] != ""
|
35
|
+
out_resp = {:code => 200, :result => "get_mongo_msisdn: Request completed successfully", :body => msisdn_data}
|
36
|
+
else
|
37
|
+
out_resp = {:code => 406, :result => "get_mongo_msisdn: invalid data. profile_id not found"}
|
38
|
+
end
|
39
|
+
else
|
40
|
+
out_resp = {:code => 405, :result => "get_mongo_msisdn: invalid data. organization_id not found"}
|
41
|
+
end
|
42
|
+
else
|
43
|
+
out_resp = {:code => 404, :result => "get_mongo_msisdn: login not found in database"}
|
44
|
+
end
|
45
|
+
rescue
|
46
|
+
out_resp = {:code => 507, :result => "get_mongo_msisdn: Unknown SDK error"}
|
47
|
+
end
|
48
|
+
logger_any.printer_texter(out_resp, "debug")
|
49
|
+
out_resp
|
50
|
+
end
|
51
|
+
|
52
|
+
|
53
|
+
|
54
|
+
end
|
55
|
+
|
56
|
+
|
@@ -228,6 +228,7 @@ class IotFunctions_2
|
|
228
228
|
imei_list = im_li
|
229
229
|
|
230
230
|
input_json = {:request_full => request_full}
|
231
|
+
input_json22 = {:login => login, :imei_list => imei_list}
|
231
232
|
resp_out = {}
|
232
233
|
begin
|
233
234
|
|
@@ -367,7 +368,7 @@ class IotFunctions_2
|
|
367
368
|
end
|
368
369
|
thr1.join
|
369
370
|
|
370
|
-
resp_out[:body][:tosoapgw] = internal_func.iot_create_dev_soapgw_answer(
|
371
|
+
resp_out[:body][:tosoapgw] = internal_func.iot_create_dev_soapgw_answer(input_json22, resp_out)
|
371
372
|
mongo_client.audit_logger("add_device_to_profile", remote_ip, input_json, resp_out, real_ip, {})
|
372
373
|
resp_out
|
373
374
|
end
|
@@ -1426,6 +1427,6 @@ class IotFunctions_2
|
|
1426
1427
|
p "yyyyy"
|
1427
1428
|
|
1428
1429
|
#fff = HuaIot.new("134.17.93.4", "443", "/Users/imperituroard/Desktop/cert.crt", "/Users/imperituroard/Desktop/key.pem")
|
1429
|
-
p hua_aceanconnect_connector.querying_device_id("Jy5KpoBUOScZEcrO2bRZhzfaIOUa", "VFFWTOb9k3_cQhzrGsRWT4HE8Z0a", "
|
1430
|
+
p hua_aceanconnect_connector.querying_device_id("Jy5KpoBUOScZEcrO2bRZhzfaIOUa", "VFFWTOb9k3_cQhzrGsRWT4HE8Z0a", "123412341284999")
|
1430
1431
|
end
|
1431
1432
|
end
|
@@ -82,6 +82,7 @@ class HuaIot
|
|
82
82
|
request.content_type = 'application/x-www-form-urlencoded'
|
83
83
|
request.body = URI.encode_www_form(data)
|
84
84
|
res = https.request(request)
|
85
|
+
p "get_token"
|
85
86
|
p res.code
|
86
87
|
p res.message
|
87
88
|
p res.body.to_s
|
@@ -293,27 +294,30 @@ class HuaIot
|
|
293
294
|
|
294
295
|
#2.2.44 Querying the Device ID
|
295
296
|
def querying_device_id(app_id, secret, node_id)
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
297
|
+
get_token_data = get_token(app_id, secret)
|
298
|
+
if get_token_data[:code]=="200"
|
299
|
+
token = get_token_data[:body]["accessToken"]
|
300
|
+
uri1 = URI("https://134.17.93.4:8743/iocm/app/dm/v1.1.0/queryDeviceIdByNodeId?nodeId=" + node_id + "&" + app_id)
|
301
|
+
https = Net::HTTP.new(uri1.host, uri1.port)
|
302
|
+
https.use_ssl = true
|
303
|
+
https.cert = OpenSSL::X509::Certificate.new(File.read(cert_file))
|
304
|
+
https.key = OpenSSL::PKey::RSA.new(File.read(key_file))
|
305
|
+
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
306
|
+
request = Net::HTTP::Get.new(uri1)
|
307
|
+
request.content_type = 'application/json'
|
308
|
+
request['app_key'] = app_id
|
309
|
+
request['Authorization'] = 'Bearer ' + token
|
310
|
+
#request.set_form_data( params )
|
311
|
+
#request['node-id'] = node_id
|
312
|
+
bbb = {"nodeId": node_id, "appId": "Jy5KpoBUOScZEcrO2bRZhzfaIOUa"}.to_json
|
313
|
+
#request.body = bbb
|
314
|
+
res = https.request(request)
|
315
|
+
#p res.body.to_s
|
316
|
+
#p res.code
|
317
|
+
{:code => res.code, :message => res.message, :body => valid_json?(res.body.to_s)}
|
318
|
+
else
|
319
|
+
{:code => "500", :message => "Something wrong", :body => {}}
|
320
|
+
end
|
317
321
|
end
|
318
322
|
|
319
323
|
#2.2.14 Querying Device Activation Status
|