diff options
author | Jon Robertson <jonrober@stanford.edu> | 2014-10-13 22:35:23 -0700 |
---|---|---|
committer | Jon Robertson <jonrober@stanford.edu> | 2014-10-13 22:35:23 -0700 |
commit | 44df8ab537e13c4bb41d0d1c85d4a42891c6ea12 (patch) | |
tree | b4b178c08f53f3e926e14581089ef20ecfbe86a6 | |
parent | 0e39650c6a831987057a8a9ed615dc3023fcab4a (diff) |
Wallet::Object::Duo: Respect new type field in Duo table
Make all the searches and creations for the Duo table add or search for
the type field as well. This avoids one Duo type clobbering another
for the same object name.
Change-Id: I62192c3616f43c7acd8ce3f94db8a0e43e77e317
-rw-r--r-- | perl/lib/Wallet/Object/Duo.pm | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/perl/lib/Wallet/Object/Duo.pm b/perl/lib/Wallet/Object/Duo.pm index 168ec8b..d08294b 100644 --- a/perl/lib/Wallet/Object/Duo.pm +++ b/perl/lib/Wallet/Object/Duo.pm @@ -41,7 +41,9 @@ sub attr_show { my $output = ''; my $key; eval { - my %search = (du_name => $self->{name}); + my %search = (du_name => $self->{name}, + du_type => $self->{type}, + ); my $row = $self->{schema}->resultset ('Duo')->find (\%search); $key = $row->get_column ('du_key'); }; @@ -122,6 +124,7 @@ sub create { eval { my %record = ( du_name => $name, + du_type => $type, du_key => $integration->integration_key, ); $self->{schema}->resultset ('Duo')->create (\%record); @@ -148,7 +151,9 @@ sub destroy { my $schema = $self->{schema}; my $guard = $schema->txn_scope_guard; eval { - my %search = (du_name => $self->{name}); + my %search = (du_name => $self->{name}, + du_type => $self->{type}, + ); my $row = $schema->resultset ('Duo')->find (\%search); my $key = $row->get_column ('du_key'); my $int = Net::Duo::Admin::Integration->new ($self->{duo}, $key); @@ -179,7 +184,9 @@ sub get { # Retrieve the integration from Duo. my $key; eval { - my %search = (du_name => $self->{name}); + my %search = (du_name => $self->{name}, + du_type => $self->{type}, + ); my $row = $self->{schema}->resultset ('Duo')->find (\%search); $key = $row->get_column ('du_key'); }; |