lib/imperituroard/projects/iot/mongoconnector.rb in imperituroard-0.2.8 vs lib/imperituroard/projects/iot/mongoconnector.rb in imperituroard-0.2.9
- old
+ new
@@ -17,10 +17,11 @@
client_host = [mongo_ip + ":" + mongo_port]
@client = Mongo::Client.new(client_host, :database => mongo_database)
end
def audit_logger(proc_name, src_ip, input_json, output_json, real_ip)
+ out_resp = {}
begin
d = DateTime.now
current = d.strftime("%d/%m/%Y %H:%M:%S")
collection = client[:audit]
doc = {
@@ -29,19 +30,22 @@
:sender => {:src_ip => src_ip, :real_ip => real_ip},
:input_params => input_json,
:output_params => output_json
}
result = collection.insert_one(doc)
- return {:code => 200, :result => "Request completed successfully", :body => result}
+ out_resp = {:code => 200, :result => "audit_logger: Request completed successfully", :body => result}
rescue
- return {:code => 507, :result => "Unknown SDK error"}
+ out_resp = {:code => 507, :result => "audit_logger: Unknown SDK error"}
end
+ p out_resp
+ out_resp
end
#:code => 507, :result => "Unknown SDK error"
#{:code => 200, :result => "Request completed successfully", :body => result_ps}
def get_profiles_by_login(login)
+ out_resp = {}
begin
p "get_profiles_by_login get_profiles_by_login"
login_profiles = []
req2 = []
result_ps = []
@@ -56,21 +60,24 @@
req2.append({:profile_id => i})
end
collection2.find({:$or => req2}, {:_id => 0}).each {|row|
result_ps.append(row)
}
- return {:code => 200, :result => "Request completed successfully", :body => result_ps}
+ out_resp = {:code => 200, :result => "get_profiles_by_login: Request completed successfully", :body => result_ps}
else
- return {:code => 404, :result => "Access denied. Incorrect login"}
+ out_resp = {:code => 404, :result => "get_profiles_by_login: Access denied. Incorrect login"}
end
rescue
- return {:code => 507, :result => "Unknown SDK error"}
+ out_resp = {:code => 507, :result => "get_profiles_by_login: Unknown SDK error"}
end
+ p out_resp
+ out_resp
end
def get_imei_info_from_db(imeilist)
+ out_resp = {}
p imeilist
p "imeilist"
begin
req2 = []
result_ps = []
@@ -79,14 +86,16 @@
req2.append({:imei => i})
end
collection.find({:$or => req2}, {:_id => 0}).each {|row|
result_ps.append(row)
}
- return {:code => 200, :result => "Request completed successfully", :body => result_ps}
+ out_resp = {:code => 200, :result => "get_imei_info_from_db: Request completed successfully", :body => result_ps}
rescue
- return {:code => 507, :result => "Unknown SDK error"}
+ out_resp = {:code => 507, :result => "get_imei_info_from_db: Unknown SDK error"}
end
+ p out_resp
+ out_resp
end
def get_profile_id_by_name(profile_name)
begin
result_ps = []
@@ -112,51 +121,54 @@
[]
end
end
def check_login_profile_permiss(login, profile)
+ out_resp = {}
p "profile"
p profile
get_login_info = get_profiles_by_login(login)
p "get_login_info"
p get_login_info
if get_login_info[:code]==200
-
- dst_profile = get_profile_id_by_name(profile)
- p "dst_profile"
- p dst_profile
- access=1
- if get_login_info[:body]!=[]
- if dst_profile!=[]
- p "sgsgsd"
- for j in get_login_info[:body]
- p j
- if j["profile_id"].to_i==dst_profile["profile_id"].to_i
- access=0
+ dst_profile = get_profile_id_by_name(profile)
+ p "dst_profile"
+ p dst_profile
+ access=1
+ if get_login_info[:body]!=[]
+ if dst_profile!=[]
+ p "sgsgsd"
+ for j in get_login_info[:body]
+ p j
+ if j["profile_id"].to_i==dst_profile["profile_id"].to_i
+ access=0
+ end
+ if access==0
+ out_resp = {:code => 200, :result => "check_login_profile_permiss: Permission granted"}
+ else
+ out_resp = {:code => 400, :result => "check_login_profile_permiss: Access denied. This incident will be reported."}
+ end
end
- if access==0
- return {:code => 200, :result => "Permission granted"}
- else
- return {:code => 400, :result => "Access denied. This incident will be reported."}
- end
+ else
+ out_resp = {:code => 501, :result => "check_login_profile_permiss: Profile not found"}
end
else
- return {:code => 501, :result => "Profile not found"}
+ out_resp = {:code => 500, :result => "check_login_profile_permiss: Access denied. Login not found"}
end
else
- return {:code => 500, :result => "Access denied. Login not found"}
+ out_resp = {:code => 500, :result => "check_login_profile_permiss: Access denied. Login not found"}
end
- else
- {:code => 500, :result => "Access denied. Login not found"}
- end
+ p out_resp
+ out_resp
end
def check_login_prof_perm_id_one(login, profile_id)
+ out_resp = {}
p "profile"
p profile_id
get_login_info = get_profiles_by_login(login)
p "get_login_info"
p get_login_info
@@ -167,21 +179,24 @@
p j
if j["profile_id"].to_i==profile_id.to_i
access=0
end
if access==0
- return {:code => 200, :result => "Permission granted"}
+ out_resp = {:code => 200, :result => "check_login_prof_perm_id_one: Permission granted"}
else
- return {:code => 400, :result => "Access denied. This incident will be reported."}
+ out_resp = {:code => 400, :result => "check_login_prof_perm_id_one: Access denied. This incident will be reported."}
end
end
else
- {:code => 500, :result => "Login not found"}
+ out_resp = {:code => 500, :result => "check_login_prof_perm_id_one: Login not found"}
end
+ p out_resp
+ out_resp
end
def check_imei_exists(imei_list)
+ out_resp = {}
res_exists = []
imei_list_res = get_imei_info_from_db(imei_list)
p imei_list_res
p "imei_list"
for k in imei_list_res[:body]
@@ -193,12 +208,15 @@
p res_exists
not_ex = imei_list - res_exists
p "not_ex"
p not_ex
p res_exists
- {:code => 200, :result => "check_imei_exists: Request completed successfully",
+ out_resp = {:code => 200, :result => "check_imei_exists: Request completed successfully",
:body => {:exists => res_exists, :not_exists => not_ex}}
+
+ p out_resp
+ out_resp
end
def imei_insert_list(imei_list)
begin
@@ -246,80 +264,91 @@
continue
end
end
def get_profile_name_from_imei(imei)
+ out_resp = {}
begin
+ id = ""
begin
info = get_imei_info_from_db([imei])
if info[:body]==[]
- return {:code => 505, :result => "get_profile_name_from_imei: get_imei_info_from_db returned empty list from database. IMEIS not found"}
+ out_resp = {:code => 505, :result => "get_profile_name_from_imei: get_imei_info_from_db returned empty list from database. IMEIS not found"}
else
p "fshhsdf"
p info
id = info[:body][0]["profile"]
end
rescue
- return {:code => 506, :result => "get_profile_name_from_imei: Function get_imei_info_from_db not processed correctly and returned: #{info.to_s}"}
+ out_resp = {:code => 506, :result => "get_profile_name_from_imei: Function get_imei_info_from_db not processed correctly and returned: #{info.to_s}"}
end
begin
res = get_profile_name_by_id(id)
if res.key?("profile")
res=res
else
- return {:code => 505, :result => "get_profile_name_from_imei: Function get_profile_name_by_id not returned profile. Invalid data in database and returned: #{res.to_s}"}
+ out_resp = {:code => 505, :result => "get_profile_name_from_imei: Function get_profile_name_by_id not returned profile. Invalid data in database and returned: #{res.to_s}"}
end
rescue
- return {:code => 506, :result => "get_profile_name_from_imei: Function get_profile_name_by_id not processed correctly and returned: #{res.to_s}"}
+ out_resp = {:code => 506, :result => "get_profile_name_from_imei: Function get_profile_name_by_id not processed correctly and returned: #{res.to_s}"}
end
begin
if res["profile"]!=nil
- return {:code => 200, :result => "get_profile_name_from_imei: Request completed successfully", :body => res}
+ out_resp = {:code => 200, :result => "get_profile_name_from_imei: Request completed successfully", :body => res}
end
rescue
- return {:code => 506, :result => "get_profile_name_from_imei: Function get_profile_name_by_id not processed correctly and returned: #{res.to_s}"}
+ out_resp = {:code => 506, :result => "get_profile_name_from_imei: Function get_profile_name_by_id not processed correctly and returned: #{res.to_s}"}
end
rescue
- return {:code => 507, :result => "get_profile_name_from_imei: Unknown SDK error"}
+ out_resp = {:code => 507, :result => "get_profile_name_from_imei: Unknown SDK error"}
end
+ p out_resp
+ out_resp
+
end
def device_remove_single_mongo(imei)
-
+ out_resp = {}
begin
collection = client[:device_imei]
doc = {
"imei" => imei
}
result = collection.delete_many(doc)
p result
- return {:code => 200, :result => "device_remove_single_mongo: Request completed successfully"}
+ out_resp = {:code => 200, :result => "device_remove_single_mongo: Request completed successfully"}
rescue
- return {:code => 507, :result => "device_remove_single_mongo: Unknown SDK error"}
+ out_resp = {:code => 507, :result => "device_remove_single_mongo: Unknown SDK error"}
end
+ p out_resp
+ out_resp
end
def device_modify_attr_mongo(imei, address)
+ out_resp = {}
begin
collection = client[:device_imei]
doc = {
"imei" => imei
}
sett = {'$set' => {address: address}}
result = collection.update_one(doc, sett)
- return {:code => 200, :result => "device_modify_attr_mongo: Request completed successfully"}
+ out_resp = {:code => 200, :result => "device_modify_attr_mongo: Request completed successfully"}
rescue
- return {:code => 507, :result => "device_remove_single_mongo: Unknown SDK error"}
+ out_resp = {:code => 507, :result => "device_modify_attr_mongo: Unknown SDK error"}
end
+ p out_resp
+ out_resp
end
def device_modify_any_attr_mongo(imei, attr_list)
+ out_resp = {}
begin
collection = client[:device_imei]
doc = {
"imei" => imei
}
@@ -331,24 +360,27 @@
end
end
def get_iot_oceanconnect_credent(login)
+ out_resp = {}
begin
result_ps = []
collection = client[:users]
collection.find({"login" => login}).each {|row|
result_ps.append(row)
}
p result_ps[0]
app_id = result_ps[0][:iot_data][:app_id]
secret = result_ps[0][:iot_data][:secret]
- return {:code => 200, :result => "get_iot_oceanconnect_credent: Request completed successfully", :body => {:app_id => app_id, :secret => secret}}
+ out_resp = {:code => 200, :result => "get_iot_oceanconnect_credent: Request completed successfully", :body => {:app_id => app_id, :secret => secret}}
rescue
- {:code => 500, :result => "get_iot_oceanconnect_credent: Process failed"}
+ out_resp = {:code => 500, :result => "get_iot_oceanconnect_credent: Process failed"}
end
+ p out_resp
+ out_resp
- end
+ end
def ttt
p "111111"
begin
\ No newline at end of file