From 632b880e10ece9d20b171327884d1341994cd01f Mon Sep 17 00:00:00 2001 From: Iain Bryson <iain@iain-bryson.ca> Date: Mon, 10 Oct 2016 12:07:15 -0700 Subject: [PATCH] Add extra logging. Add extra logging and user list into redis. --- dtu-auth2/lib/dtu_auth2.rb | 11 ++++++++++- dtu-core-0.0.4.gem | Bin 0 -> 16896 bytes dtu_core.gemspec | 2 +- lib/tasks/dtu_core_tasks.rake | 20 ++++++++++---------- 4 files changed, 21 insertions(+), 12 deletions(-) create mode 100644 dtu-core-0.0.4.gem diff --git a/dtu-auth2/lib/dtu_auth2.rb b/dtu-auth2/lib/dtu_auth2.rb index 68fdbcf..658fab4 100644 --- a/dtu-auth2/lib/dtu_auth2.rb +++ b/dtu-auth2/lib/dtu_auth2.rb @@ -58,6 +58,7 @@ module DTUAuth2 am.users[user._id] = user end + $redis.set("users", am.users.keys.to_json) am.users.keys.each { |user_id| $redis.set("user$" + user_id, am.users[user_id].to_json) } groups_by_user = {} @@ -85,6 +86,10 @@ 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) + end + # Rails.logger.debug "Users #{am.users.ai}" # Rails.logger.debug "User Roles #{am.user_roles.ai}" Rails.logger.info "Groups #{am.groups.ai}" @@ -115,8 +120,12 @@ module DTUAuth2 JSON.parse ($redis.get("courses") || "[]") end + def self.user_list + JSON.parse ($redis.get("users") || "[]") + end + def self.system_user - User2.new({:_id => "dtu_quiz_sysem", :full_name => "DTU Quiz System", :email => "no@email.com"}) + User2.new({:_id => "dtu_quiz_system", :full_name => "DTU Quiz System", :email => "no@email.com"}) end def self.groups_by_user_and_role(course_id, user_id, role) diff --git a/dtu-core-0.0.4.gem b/dtu-core-0.0.4.gem new file mode 100644 index 0000000000000000000000000000000000000000..62742401d4958584c73e5e6dc741b7f5d537b4fa GIT binary patch literal 16896 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 Gga81SStKn0 literal 0 HcmV?d00001 diff --git a/dtu_core.gemspec b/dtu_core.gemspec index b4ab6bb..f93c3df 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.3" + s.version = "0.0.4" 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 00af761..00f6745 100644 --- a/lib/tasks/dtu_core_tasks.rake +++ b/lib/tasks/dtu_core_tasks.rake @@ -8,19 +8,19 @@ task :wait_for_population => [:to_stdout, :environment] do DTUAuth2::CachedAuthorizationManager.wait end +desc "Flush the redis cache" +task :populate => [:to_stdout, :environment] do + Rails.logger.info "Flushing the redis cache" + $redis.flushall +end + 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] - DTUAuth2::CachedAuthorizationManager.course_by_id('00000') ap DTUAuth2::CachedAuthorizationManager.course_list - ap DTUAuth2::CachedAuthorizationManager.user_by_id 'iaibrys' - ap DTUAuth2::CachedAuthorizationManager.groups_by_course '00000' - puts "DTUAuth2::CachedAuthorizationManager.groups_by_user 'iaibrys'" - ap DTUAuth2::CachedAuthorizationManager.groups_by_user 'iaibrys' - ap DTUAuth2::CachedAuthorizationManager.groups_by_user_and_role('00000', 'iaibrys', 'administrator') - ap DTUAuth2::CachedAuthorizationManager.groups_by_user_and_role('00000', 'iajbrys', 'student') - ap DTUAuth2::CachedAuthorizationManager.groups_by_course('00000') - ap DTUAuth2::CachedAuthorizationManager.roles_by_user('00000', 'iaibrys') - ap DTUAuth2::CachedAuthorizationManager.roles_by_user_and_group('00000', 'iaibrys', 'B') + ap DTUAuth2::CachedAuthorizationManager.user_list + DTUAuth2::CachedAuthorizationManager.user_list.each do |user| + ap DTUAuth2::CachedAuthorizationManager.groups_by_user user + end end -- GitLab