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 /perl/lib/Wallet/Object | |
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
Diffstat (limited to 'perl/lib/Wallet/Object')
-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'); }; |