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