lib/imperituroard/projects/iot/mongoconnector.rb in imperituroard-0.2.4 vs lib/imperituroard/projects/iot/mongoconnector.rb in imperituroard-0.2.5

- old
+ new

@@ -39,25 +39,32 @@ #:code => 507, :result => "Unknown SDK error" #{:code => 200, :result => "Request completed successfully", :body => result_ps} def get_profiles_by_login(login) begin + p "get_profiles_by_login get_profiles_by_login" login_profiles = [] req2 = [] result_ps = [] collection = client[:users] collection2 = client[:device_profiles] collection.find({:login => login}).each {|row| login_profiles = row["permit_profiles"] } - for i in login_profiles - req2.append({:profile_id => i}) + p login_profiles + if login_profiles !=[] + for i in login_profiles + 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} + else + return {:code => 404, :result => "Access denied. Incorrect login"} end - collection2.find({:$or => req2}, {:_id => 0}).each {|row| - result_ps.append(row) - } - return {:code => 200, :result => "Request completed successfully", :body => result_ps} + rescue return {:code => 507, :result => "Unknown SDK error"} end end @@ -110,10 +117,15 @@ 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]!=[] @@ -132,10 +144,13 @@ end else return {:code => 501, :result => "Profile not found"} end else - {:code => 500, :result => "Login not found"} + return {:code => 500, :result => "Access denied. Login not found"} + end + else + {:code => 500, :result => "Access denied. Login not found"} end end def check_login_prof_perm_id_one(login, profile_id) \ No newline at end of file