summaryrefslogtreecommitdiff
path: root/perl/lib/Wallet
diff options
context:
space:
mode:
authorJon Robertson <jonrober@stanford.edu>2014-10-13 22:35:23 -0700
committerJon Robertson <jonrober@stanford.edu>2014-10-13 22:35:23 -0700
commit44df8ab537e13c4bb41d0d1c85d4a42891c6ea12 (patch)
treeb4b178c08f53f3e926e14581089ef20ecfbe86a6 /perl/lib/Wallet
parent0e39650c6a831987057a8a9ed615dc3023fcab4a (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')
-rw-r--r--perl/lib/Wallet/Object/Duo.pm13
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');
};