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