From 26f2301d2cb6840b48a691a37e9d42d8a1e08c9d Mon Sep 17 00:00:00 2001
From: Guillaume Rousse <guillaume.rousse@renater.fr>
Date: Fri, 3 Aug 2018 13:56:55 +0200
Subject: [PATCH] no need for dedicated management classes

---
 bin/access-check-manager.pl.in                | 15 +++++----------
 lib/AccountManager/Account.pm                 |  4 ++++
 lib/AccountManager/Account/Manager.pm         | 15 ---------------
 lib/AccountManager/App.pm                     |  7 ++-----
 lib/AccountManager/ServiceProvider.pm         |  3 +++
 lib/AccountManager/ServiceProvider/Manager.pm | 15 ---------------
 lib/AccountManager/Token.pm                   |  4 ++++
 lib/AccountManager/Token/Manager.pm           | 15 ---------------
 lib/Makefile.am                               |  3 ---
 9 files changed, 18 insertions(+), 63 deletions(-)
 delete mode 100644 lib/AccountManager/Account/Manager.pm
 delete mode 100644 lib/AccountManager/ServiceProvider/Manager.pm
 delete mode 100644 lib/AccountManager/Token/Manager.pm

diff --git a/bin/access-check-manager.pl.in b/bin/access-check-manager.pl.in
index 33cc363..7266172 100755
--- a/bin/access-check-manager.pl.in
+++ b/bin/access-check-manager.pl.in
@@ -14,12 +14,9 @@ use Log::Any::Adapter;
 use Pod::Usage;
 
 use AccountManager::Account;
-use AccountManager::Account::Manager;
 use AccountManager::Metadata;
 use AccountManager::ServiceProvider;
-use AccountManager::ServiceProvider::Manager;
 use AccountManager::Token;
-use AccountManager::Token::Manager;
 use AccountManager::Tools;
 
 my %options;
@@ -130,7 +127,7 @@ sub list_accounts {
     }
 
     my $accounts =
-        AccountManager::Account::Manager->get_accounts(db => $db, %args);
+        AccountManager::Account->get_accounts(db => $db, %args);
 
     if (! @$accounts) {
         printf "No matching test account in DB\n";
@@ -146,7 +143,7 @@ sub list_accounts {
         }
         printf "%d accounts removed\n", scalar @$accounts;
 
-        $accounts = AccountManager::Account::Manager->get_accounts(
+        $accounts = AccountManager::Account->get_accounts(
             db => $db
         );
 
@@ -226,7 +223,7 @@ sub add_service {
 sub list_services {
     my %args;
 
-    my $providers = AccountManager::ServiceProvider::Manager->get_service_providers(db => $db, %args);
+    my $providers = AccountManager::ServiceProvider->get_service_providers(db => $db, %args);
 
     if (! @$providers) {
         printf "No service provider in DB\n";
@@ -257,8 +254,7 @@ sub list_tokens {
         push @{ $args{query} }, expiration_date => { lt => DateTime->now() };
     }
 
-    my $tokens =
-      AccountManager::Token::Manager->get_tokens(db => $db, %args);
+    my $tokens = AccountManager::Token->get_tokens(db => $db, %args);
 
     if (!@$tokens) {
         printf "No corresponding token found in DB\n";
@@ -285,8 +281,7 @@ sub get_token {
         $args{token} = $options{token};
     }
 
-    my $token =
-      AccountManager::Token->new(db => $db, %args);
+    my $token = AccountManager::Token->new(db => $db, %args);
 
     die "No corresponding token found in DB\n"
         unless $token->load();
diff --git a/lib/AccountManager/Account.pm b/lib/AccountManager/Account.pm
index 61e05d7..3b84a9b 100644
--- a/lib/AccountManager/Account.pm
+++ b/lib/AccountManager/Account.pm
@@ -6,6 +6,8 @@ use warnings;
 
 use base 'AccountManager::DB::Object';
 
+use Rose::DB::Object::Manager;
+
 __PACKAGE__->meta->setup(
     table   => 'accounts',
 
@@ -25,6 +27,8 @@ __PACKAGE__->meta->setup(
     primary_key_columns => [ 'id' ],
 );
 
+Rose::DB::Object::Manager->make_manager_methods('accounts');
+
 my %cn = (
     alumni1        => 'Åsold Wahlstrøm - eduGAIN Access Check account',
     employee1      => 'Linnéa Hsu - eduGAIN Access Check account',
diff --git a/lib/AccountManager/Account/Manager.pm b/lib/AccountManager/Account/Manager.pm
deleted file mode 100644
index 6612114..0000000
--- a/lib/AccountManager/Account/Manager.pm
+++ /dev/null
@@ -1,15 +0,0 @@
-package AccountManager::Account::Manager;
-
-use strict;
-use warnings;
-
-use base qw(Rose::DB::Object::Manager);
-
-use AccountManager::Account;
-
-sub object_class { 'AccountManager::Account' }
-
-__PACKAGE__->make_manager_methods('accounts');
-
-1;
-
diff --git a/lib/AccountManager/App.pm b/lib/AccountManager/App.pm
index 5409539..b805e5e 100644
--- a/lib/AccountManager/App.pm
+++ b/lib/AccountManager/App.pm
@@ -11,7 +11,6 @@ use Template;
 use Template::Constants qw(:chomp);
 
 use AccountManager::Account;
-use AccountManager::Account::Manager;
 use AccountManager::Metadata;
 use AccountManager::ServiceProvider;
 use AccountManager::Token;
@@ -660,9 +659,7 @@ sub req_create_accounts {
     ) if !@accounts;
 
     ## Update simpleSAMLphp configuration to enable test accounts
-    my $accounts = AccountManager::Account::Manager->get_accounts(
-        db => $self->{db}
-    );
+    my $accounts = AccountManager::Account->get_accounts(db => $self->{db});
 
     eval {
         AccountManager::Tools::update_ssp_authsources(
@@ -756,7 +753,7 @@ sub req_download_accounts {
     }
 
     # load accounts from database
-    my $accounts = AccountManager::Account::Manager->get_accounts(
+    my $accounts = AccountManager::Account->get_accounts(
         db    => $self->{db},
         query => [
             token => $self->{in}->{token}
diff --git a/lib/AccountManager/ServiceProvider.pm b/lib/AccountManager/ServiceProvider.pm
index fb2c8d7..8d83daa 100644
--- a/lib/AccountManager/ServiceProvider.pm
+++ b/lib/AccountManager/ServiceProvider.pm
@@ -6,6 +6,7 @@ use warnings;
 use base 'AccountManager::DB::Object';
 
 use List::MoreUtils qw(any);
+use Rose::DB::Object::Manager;
 
 __PACKAGE__->meta->setup(
     table   => 'services',
@@ -22,6 +23,8 @@ __PACKAGE__->meta->setup(
     unique_key => [ 'entityid' ],
 );
 
+Rose::DB::Object::Manager->make_manager_methods('service_providers');
+
 sub print {
     my ($self, $fd) = @_;
     $fd = \*STDOUT unless $fd;
diff --git a/lib/AccountManager/ServiceProvider/Manager.pm b/lib/AccountManager/ServiceProvider/Manager.pm
deleted file mode 100644
index 3177a9b..0000000
--- a/lib/AccountManager/ServiceProvider/Manager.pm
+++ /dev/null
@@ -1,15 +0,0 @@
-package AccountManager::ServiceProvider::Manager;
-
-use strict;
-use warnings;
-
-use base qw(Rose::DB::Object::Manager);
-
-use AccountManager::ServiceProvider;
-
-sub object_class { 'AccountManager::ServiceProvider' }
-
-__PACKAGE__->make_manager_methods('service_providers');
-
-1;
-
diff --git a/lib/AccountManager/Token.pm b/lib/AccountManager/Token.pm
index 5e4a944..a7427c4 100644
--- a/lib/AccountManager/Token.pm
+++ b/lib/AccountManager/Token.pm
@@ -5,6 +5,8 @@ use warnings;
 
 use base 'AccountManager::DB::Object';
 
+use Rose::DB::Object::Manager;
+
 __PACKAGE__->meta->setup(
     table   => 'tokens',
 
@@ -25,6 +27,8 @@ __PACKAGE__->meta->setup(
     ],
 );
 
+Rose::DB::Object::Manager->make_manager_methods('tokens');
+
 sub print {
     my ($self, $fd) = @_;
     $fd = \*STDOUT unless $fd;
diff --git a/lib/AccountManager/Token/Manager.pm b/lib/AccountManager/Token/Manager.pm
deleted file mode 100644
index b9930ca..0000000
--- a/lib/AccountManager/Token/Manager.pm
+++ /dev/null
@@ -1,15 +0,0 @@
-package AccountManager::Token::Manager;
-
-use strict;
-use warnings;
-
-use base qw(Rose::DB::Object::Manager);
-
-use AccountManager::Token;
-
-sub object_class { 'AccountManager::Token' }
-
-__PACKAGE__->make_manager_methods('tokens');
-
-1;
-
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 84e581b..3fb5a35 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -2,14 +2,11 @@ modulesdir = $(datadir)/access-check/lib
 
 nobase_modules_DATA = \
 	AccountManager/Token.pm \
-	AccountManager/Token/Manager.pm \
 	AccountManager/DB.pm \
 	AccountManager/DB/Object.pm \
 	AccountManager/Metadata.pm \
 	AccountManager/ServiceProvider.pm \
-	AccountManager/ServiceProvider/Manager.pm \
 	AccountManager/Account.pm \
-	AccountManager/Account/Manager.pm \
 	AccountManager/Tools.pm \
 	AccountManager/L10N.pm \
 	AccountManager/L10N/en.pm \
-- 
GitLab