diff --git a/Gemfile.lock b/Gemfile.lock index aec31af78472914bc787fc5697c6dbf10fb82d42..6068abd2b65181d833b88dbf4501ea1520b02339 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -19,7 +19,7 @@ PATH remote: . specs: dtu-auth (0.0.0) - dtu-core (0.0.2) + dtu-core (0.0.5) dtu-auth dtu-auth2 dtu-file-management diff --git a/dtu-auth2/lib/dtu_auth2.rb b/dtu-auth2/lib/dtu_auth2.rb index 658fab43895f421e51fbfe8ec324604a76b676ba..8f7bf1beaeddf7a2f072803003a23f0616b60043 100644 --- a/dtu-auth2/lib/dtu_auth2.rb +++ b/dtu-auth2/lib/dtu_auth2.rb @@ -62,11 +62,13 @@ module DTUAuth2 am.users.keys.each { |user_id| $redis.set("user$" + user_id, am.users[user_id].to_json) } groups_by_user = {} + groups_by_course = {} _user_roles.flatten.each do |role| am.user_roles[role.user_id] = {} unless am.user_roles.has_key? role.user_id groups_by_user[role.user_id] = [] unless groups_by_user.has_key? role.user_id am.groups[role.course_id] = [] unless am.groups.has_key? role.course_id + groups_by_course[role.course_id] = [] unless groups_by_course.has_key? role.course_id am.user_roles[role.user_id][role.course_id] = {} unless am.user_roles[role.user_id].has_key? role.course_id @@ -76,6 +78,7 @@ module DTUAuth2 am.groups[role.course_id] << role.group groups_by_user[role.user_id] << role + groups_by_course[role.course_id] << role end groups.each do |k,v| @@ -86,8 +89,8 @@ module DTUAuth2 $redis.set("user_role_by_user$" + user_id, g.uniq.to_json) end - groups.each do |group_id, g| - $redis.set("user_role_by_course$" + group_id, g.uniq.to_json) + groups_by_course.each do |course_id, g| + $redis.set("user_role_by_course$" + course_id, g.to_json) end # Rails.logger.debug "Users #{am.users.ai}" diff --git a/dtu-core-0.0.5.gem b/dtu-core-0.0.5.gem new file mode 100644 index 0000000000000000000000000000000000000000..5322d153b5d67d6321311e4f04fc0595435023a3 Binary files /dev/null and b/dtu-core-0.0.5.gem differ diff --git a/dtu_core.gemspec b/dtu_core.gemspec index f93c3df8c4f931ad3233157713e8f9fd07789cd0..1d4b3cb8f6307187472463be5c47128416b354b3 100644 --- a/dtu_core.gemspec +++ b/dtu_core.gemspec @@ -6,7 +6,7 @@ require "dtu-core/version" # Describe your gem and declare its dependencies: Gem::Specification.new do |s| s.name = "dtu-core" - s.version = "0.0.4" + s.version = "0.0.5" s.authors = ["Iain Bryson"] s.email = ["iain@iain-bryson.ca"] s.homepage = "https://github.com/dtu-compute/dtu-core.git" diff --git a/lib/tasks/dtu_core_tasks.rake b/lib/tasks/dtu_core_tasks.rake index 00f6745798b8d17240b16f214da0d86418dd36be..456b5b6569c1d70ba460a1eac5614aeaf3cb5a85 100644 --- a/lib/tasks/dtu_core_tasks.rake +++ b/lib/tasks/dtu_core_tasks.rake @@ -18,9 +18,16 @@ desc "Populate the redis cache" task :populate => [:to_stdout, :environment] do Rails.logger.info Rails.configuration.dtu_data DTUAuth2::populate Rails.configuration.dtu_data[:root_path] + puts "\n\n\n COURSE LIST (from redis) \n\n\n" ap DTUAuth2::CachedAuthorizationManager.course_list + DTUAuth2::CachedAuthorizationManager.course_list.each do |course| + puts "\n\n\n GROUPS FOR #{course} (from redis) \n\n\n" + ap DTUAuth2::CachedAuthorizationManager.groups_by_course course + end + puts "\n\n\n USER LIST (from redis) \n\n\n" ap DTUAuth2::CachedAuthorizationManager.user_list DTUAuth2::CachedAuthorizationManager.user_list.each do |user| + puts "\n\n\n GROUPS FOR #{user} (from redis) \n\n\n" ap DTUAuth2::CachedAuthorizationManager.groups_by_user user end end