From 593e9b1e100ace54d1d9da7eb16e60f4e37c34ff Mon Sep 17 00:00:00 2001 From: Jon Robertson Date: Sun, 2 Dec 2012 22:07:16 -0800 Subject: Moved the Perl wallet modules and tests to DBIx::Class Moved all the Perl code to use DBIx::Class for the database interface. This includes updating all database calls, how the schema is generated and maintained, and the tests in places where some output has changed. We also remove the schema.t test, as the tests for it are more covered in the admin.t tests now. Change-Id: Ie5083432d09a0d9fe364a61c31378b77aa7b3cb7 Reviewed-on: https://gerrit.stanford.edu/598 Reviewed-by: Russ Allbery Tested-by: Russ Allbery --- perl/Wallet/Schema/Result/Acl.pm | 99 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 perl/Wallet/Schema/Result/Acl.pm (limited to 'perl/Wallet/Schema/Result/Acl.pm') diff --git a/perl/Wallet/Schema/Result/Acl.pm b/perl/Wallet/Schema/Result/Acl.pm new file mode 100644 index 0000000..60a357b --- /dev/null +++ b/perl/Wallet/Schema/Result/Acl.pm @@ -0,0 +1,99 @@ +package Wallet::Schema::Result::Acl; + +use strict; +use warnings; + +use base 'DBIx::Class::Core'; + +=head1 NAME + +Wallet::Schema::Result::Acl + +=head1 DESCRIPTION + +=cut + +__PACKAGE__->table("acls"); + +=head1 ACCESSORS + +=head2 ac_id + + data_type: 'integer' + is_auto_increment: 1 + is_nullable: 0 + +=head2 ac_name + + data_type: 'varchar' + is_nullable: 0 + size: 255 + +=cut + +__PACKAGE__->add_columns( + "ac_id", + { data_type => "integer", is_auto_increment => 1, is_nullable => 0 }, + "ac_name", + { data_type => "varchar", is_nullable => 0, size => 255 }, +); +__PACKAGE__->set_primary_key("ac_id"); +__PACKAGE__->add_unique_constraint("ac_name", ["ac_name"]); + +__PACKAGE__->has_one( + 'acl_entries', + 'Wallet::Schema::Result::AclEntry', + { 'foreign.ae_id' => 'self.ac_id' }, + { cascade_copy => 0, cascade_delete => 0 }, + ); +__PACKAGE__->has_many( + 'acl_history', + 'Wallet::Schema::Result::AclHistory', + { 'foreign.ah_id' => 'self.ac_id' }, + { cascade_copy => 0, cascade_delete => 0 }, + ); + +# References for all of the various potential ACLs in owners. +__PACKAGE__->has_many( + 'acls_owner', + 'Wallet::Schema::Result::Object', + { 'foreign.ob_owner' => 'self.ac_id' }, + ); +__PACKAGE__->has_many( + 'acls_get', + 'Wallet::Schema::Result::Object', + { 'foreign.ob_acl_get' => 'self.ac_id' }, + ); +__PACKAGE__->has_many( + 'acls_store', + 'Wallet::Schema::Result::Object', + { 'foreign.ob_acl_store' => 'self.ac_id' }, + ); +__PACKAGE__->has_many( + 'acls_show', + 'Wallet::Schema::Result::Object', + { 'foreign.ob_acl_show' => 'self.ac_id' }, + ); +__PACKAGE__->has_many( + 'acls_destroy', + 'Wallet::Schema::Result::Object', + { 'foreign.ob_acl_destroy' => 'self.ac_id' }, + ); +__PACKAGE__->has_many( + 'acls_flags', + 'Wallet::Schema::Result::Object', + { 'foreign.ob_acl_flags' => 'self.ac_id' }, + ); + +# Override the insert method so that we can automatically create history +# items. +#sub insert { +# my ($self, @args) = @_; +# my $ret = $self->next::method (@args); +# print "ID: ".$self->ac_id."\n"; +# use Data::Dumper; print Dumper (@args); + +# return $self; +#} + +1; -- cgit v1.2.3 From 027ed879d1697b04939547585ff3838b300154e1 Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Fri, 22 Feb 2013 20:29:28 -0800 Subject: Fix NAME sections of new Wallet::Schema::Result::* classes Change-Id: I8aa2d9232a3f15d424eafbda69b6e065824e62b8 --- perl/Wallet/Schema/Result/Acl.pm | 2 +- perl/Wallet/Schema/Result/AclEntry.pm | 2 +- perl/Wallet/Schema/Result/AclHistory.pm | 2 +- perl/Wallet/Schema/Result/AclScheme.pm | 2 +- perl/Wallet/Schema/Result/Enctype.pm | 5 ++++- perl/Wallet/Schema/Result/Flag.pm | 2 +- perl/Wallet/Schema/Result/KeytabEnctype.pm | 2 +- perl/Wallet/Schema/Result/KeytabSync.pm | 2 +- perl/Wallet/Schema/Result/Object.pm | 2 +- perl/Wallet/Schema/Result/ObjectHistory.pm | 2 +- perl/Wallet/Schema/Result/SyncTarget.pm | 2 +- perl/Wallet/Schema/Result/Type.pm | 2 +- 12 files changed, 15 insertions(+), 12 deletions(-) (limited to 'perl/Wallet/Schema/Result/Acl.pm') diff --git a/perl/Wallet/Schema/Result/Acl.pm b/perl/Wallet/Schema/Result/Acl.pm index 60a357b..07956b7 100644 --- a/perl/Wallet/Schema/Result/Acl.pm +++ b/perl/Wallet/Schema/Result/Acl.pm @@ -7,7 +7,7 @@ use base 'DBIx::Class::Core'; =head1 NAME -Wallet::Schema::Result::Acl +Wallet::Schema::Result::Acl - Wallet schema for an ACL =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/AclEntry.pm b/perl/Wallet/Schema/Result/AclEntry.pm index 99105a0..2a7aad3 100644 --- a/perl/Wallet/Schema/Result/AclEntry.pm +++ b/perl/Wallet/Schema/Result/AclEntry.pm @@ -7,7 +7,7 @@ use base 'DBIx::Class::Core'; =head1 NAME -Wallet::Schema::Result::AclEntry +Wallet::Schema::Result::AclEntry - Wallet schema for an entry in an ACL =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/AclHistory.pm b/perl/Wallet/Schema/Result/AclHistory.pm index 2ad56ff..fd372e2 100644 --- a/perl/Wallet/Schema/Result/AclHistory.pm +++ b/perl/Wallet/Schema/Result/AclHistory.pm @@ -9,7 +9,7 @@ __PACKAGE__->load_components("InflateColumn::DateTime"); =head1 NAME -Wallet::Schema::Result::AclHistory +Wallet::Schema::Result::AclHistory - Wallet schema for ACL history =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/AclScheme.pm b/perl/Wallet/Schema/Result/AclScheme.pm index be20d49..8f76530 100644 --- a/perl/Wallet/Schema/Result/AclScheme.pm +++ b/perl/Wallet/Schema/Result/AclScheme.pm @@ -11,7 +11,7 @@ ACL verifier APIs =head1 NAME -Wallet::Schema::Result::AclScheme +Wallet::Schema::Result::AclScheme - Wallet schema for ACL scheme =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/Enctype.pm b/perl/Wallet/Schema/Result/Enctype.pm index be41b84..ca54de5 100644 --- a/perl/Wallet/Schema/Result/Enctype.pm +++ b/perl/Wallet/Schema/Result/Enctype.pm @@ -5,9 +5,12 @@ use warnings; use base 'DBIx::Class::Core'; +=for stopwords +Kerberos + =head1 NAME -Wallet::Schema::Result::Enctype +Wallet::Schema::Result::Enctype - Wallet schema for Kerberos encryption type =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/Flag.pm b/perl/Wallet/Schema/Result/Flag.pm index b38e85f..9b98da9 100644 --- a/perl/Wallet/Schema/Result/Flag.pm +++ b/perl/Wallet/Schema/Result/Flag.pm @@ -7,7 +7,7 @@ use base 'DBIx::Class::Core'; =head1 NAME -Wallet::Schema::Result::Flag +Wallet::Schema::Result::Flag - Wallet schema for object flags =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/KeytabEnctype.pm b/perl/Wallet/Schema/Result/KeytabEnctype.pm index ae40c52..9626d49 100644 --- a/perl/Wallet/Schema/Result/KeytabEnctype.pm +++ b/perl/Wallet/Schema/Result/KeytabEnctype.pm @@ -7,7 +7,7 @@ use base 'DBIx::Class::Core'; =head1 NAME -Wallet::Schema::Result::KeytabEnctype +Wallet::Schema::Result::KeytabEnctype - Wallet schema for keytab enctype =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/KeytabSync.pm b/perl/Wallet/Schema/Result/KeytabSync.pm index 92ab6b8..828c6f0 100644 --- a/perl/Wallet/Schema/Result/KeytabSync.pm +++ b/perl/Wallet/Schema/Result/KeytabSync.pm @@ -7,7 +7,7 @@ use base 'DBIx::Class::Core'; =head1 NAME -Wallet::Schema::Result::KeytabSync +Wallet::Schema::Result::KeytabSync - Wallet schema for keytab synchronization =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/Object.pm b/perl/Wallet/Schema/Result/Object.pm index 17c51e2..7f59d27 100644 --- a/perl/Wallet/Schema/Result/Object.pm +++ b/perl/Wallet/Schema/Result/Object.pm @@ -9,7 +9,7 @@ __PACKAGE__->load_components("InflateColumn::DateTime"); =head1 NAME -Wallet::Schema::Result::Object +Wallet::Schema::Result::Object - Wallet schema for an object =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/ObjectHistory.pm b/perl/Wallet/Schema/Result/ObjectHistory.pm index 067712f..df0a7df 100644 --- a/perl/Wallet/Schema/Result/ObjectHistory.pm +++ b/perl/Wallet/Schema/Result/ObjectHistory.pm @@ -9,7 +9,7 @@ __PACKAGE__->load_components("InflateColumn::DateTime"); =head1 NAME -Wallet::Schema::Result::ObjectHistory +Wallet::Schema::Result::ObjectHistory - Wallet schema for object history =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/SyncTarget.pm b/perl/Wallet/Schema/Result/SyncTarget.pm index 17f4320..27174f5 100644 --- a/perl/Wallet/Schema/Result/SyncTarget.pm +++ b/perl/Wallet/Schema/Result/SyncTarget.pm @@ -7,7 +7,7 @@ use base 'DBIx::Class::Core'; =head1 NAME -Wallet::Schema::Result::SyncTarget +Wallet::Schema::Result::SyncTarget - Wallet schema for synchronization targets =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/Type.pm b/perl/Wallet/Schema/Result/Type.pm index 7af837b..5b2e1d0 100644 --- a/perl/Wallet/Schema/Result/Type.pm +++ b/perl/Wallet/Schema/Result/Type.pm @@ -10,7 +10,7 @@ APIs =head1 NAME -Wallet::Schema::Result::Type +Wallet::Schema::Result::Type - Wallet schema for object types =head1 DESCRIPTION -- cgit v1.2.3 From 54715c37f1649b88d52806e1ad4b30e32c6f816e Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Wed, 27 Feb 2013 14:21:22 -0800 Subject: Add stopwords for new Wallet::Schema classes Change-Id: I48984226f67ded5539f6bc8c8cd88cfa770be775 Reviewed-on: https://gerrit.stanford.edu/839 Reviewed-by: Russ Allbery Tested-by: Russ Allbery --- perl/Wallet/Schema/Result/Acl.pm | 3 +++ perl/Wallet/Schema/Result/AclEntry.pm | 3 +++ perl/Wallet/Schema/Result/AclHistory.pm | 3 +++ perl/Wallet/Schema/Result/KeytabEnctype.pm | 3 +++ perl/Wallet/Schema/Result/KeytabSync.pm | 3 +++ 5 files changed, 15 insertions(+) (limited to 'perl/Wallet/Schema/Result/Acl.pm') diff --git a/perl/Wallet/Schema/Result/Acl.pm b/perl/Wallet/Schema/Result/Acl.pm index 07956b7..7fe395b 100644 --- a/perl/Wallet/Schema/Result/Acl.pm +++ b/perl/Wallet/Schema/Result/Acl.pm @@ -5,6 +5,9 @@ use warnings; use base 'DBIx::Class::Core'; +=for stopwords +ACL + =head1 NAME Wallet::Schema::Result::Acl - Wallet schema for an ACL diff --git a/perl/Wallet/Schema/Result/AclEntry.pm b/perl/Wallet/Schema/Result/AclEntry.pm index 2a7aad3..a5ae5fa 100644 --- a/perl/Wallet/Schema/Result/AclEntry.pm +++ b/perl/Wallet/Schema/Result/AclEntry.pm @@ -5,6 +5,9 @@ use warnings; use base 'DBIx::Class::Core'; +=for stopwords +ACL + =head1 NAME Wallet::Schema::Result::AclEntry - Wallet schema for an entry in an ACL diff --git a/perl/Wallet/Schema/Result/AclHistory.pm b/perl/Wallet/Schema/Result/AclHistory.pm index fd372e2..cc3978b 100644 --- a/perl/Wallet/Schema/Result/AclHistory.pm +++ b/perl/Wallet/Schema/Result/AclHistory.pm @@ -7,6 +7,9 @@ use base 'DBIx::Class::Core'; __PACKAGE__->load_components("InflateColumn::DateTime"); +=for stopwords +ACL + =head1 NAME Wallet::Schema::Result::AclHistory - Wallet schema for ACL history diff --git a/perl/Wallet/Schema/Result/KeytabEnctype.pm b/perl/Wallet/Schema/Result/KeytabEnctype.pm index 9626d49..3de620f 100644 --- a/perl/Wallet/Schema/Result/KeytabEnctype.pm +++ b/perl/Wallet/Schema/Result/KeytabEnctype.pm @@ -5,6 +5,9 @@ use warnings; use base 'DBIx::Class::Core'; +=for stopwords +keytab enctype + =head1 NAME Wallet::Schema::Result::KeytabEnctype - Wallet schema for keytab enctype diff --git a/perl/Wallet/Schema/Result/KeytabSync.pm b/perl/Wallet/Schema/Result/KeytabSync.pm index 828c6f0..77ee23d 100644 --- a/perl/Wallet/Schema/Result/KeytabSync.pm +++ b/perl/Wallet/Schema/Result/KeytabSync.pm @@ -5,6 +5,9 @@ use warnings; use base 'DBIx::Class::Core'; +=for stopwords +keytab + =head1 NAME Wallet::Schema::Result::KeytabSync - Wallet schema for keytab synchronization -- cgit v1.2.3 From 82902694563c7b140263e2fb17162f04cdb6cac2 Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Wed, 27 Feb 2013 16:17:01 -0800 Subject: Add standard headers to the Wallet::Schema::* classes Change-Id: Iee8d55f6c86563fad71d770398e3221f7efb4b2e Reviewed-on: https://gerrit.stanford.edu/852 Reviewed-by: Russ Allbery Tested-by: Russ Allbery --- perl/Wallet/Schema.pm | 8 ++++++++ perl/Wallet/Schema/Result/Acl.pm | 8 ++++++++ perl/Wallet/Schema/Result/AclEntry.pm | 8 ++++++++ perl/Wallet/Schema/Result/AclHistory.pm | 8 ++++++++ perl/Wallet/Schema/Result/AclScheme.pm | 8 ++++++++ perl/Wallet/Schema/Result/Enctype.pm | 8 ++++++++ perl/Wallet/Schema/Result/Flag.pm | 8 ++++++++ perl/Wallet/Schema/Result/KeytabEnctype.pm | 8 ++++++++ perl/Wallet/Schema/Result/KeytabSync.pm | 8 ++++++++ perl/Wallet/Schema/Result/Object.pm | 8 ++++++++ perl/Wallet/Schema/Result/ObjectHistory.pm | 8 ++++++++ perl/Wallet/Schema/Result/SyncTarget.pm | 8 ++++++++ perl/Wallet/Schema/Result/Type.pm | 8 ++++++++ 13 files changed, 104 insertions(+) (limited to 'perl/Wallet/Schema/Result/Acl.pm') diff --git a/perl/Wallet/Schema.pm b/perl/Wallet/Schema.pm index 6868876..fc63447 100644 --- a/perl/Wallet/Schema.pm +++ b/perl/Wallet/Schema.pm @@ -1,3 +1,11 @@ +# Database schema and connector for the wallet system. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema; use strict; diff --git a/perl/Wallet/Schema/Result/Acl.pm b/perl/Wallet/Schema/Result/Acl.pm index 7fe395b..226738a 100644 --- a/perl/Wallet/Schema/Result/Acl.pm +++ b/perl/Wallet/Schema/Result/Acl.pm @@ -1,3 +1,11 @@ +# Wallet schema for an ACL. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::Acl; use strict; diff --git a/perl/Wallet/Schema/Result/AclEntry.pm b/perl/Wallet/Schema/Result/AclEntry.pm index a5ae5fa..a33a98c 100644 --- a/perl/Wallet/Schema/Result/AclEntry.pm +++ b/perl/Wallet/Schema/Result/AclEntry.pm @@ -1,3 +1,11 @@ +# Wallet schema for an entry in an ACL. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::AclEntry; use strict; diff --git a/perl/Wallet/Schema/Result/AclHistory.pm b/perl/Wallet/Schema/Result/AclHistory.pm index cc3978b..d3ef901 100644 --- a/perl/Wallet/Schema/Result/AclHistory.pm +++ b/perl/Wallet/Schema/Result/AclHistory.pm @@ -1,3 +1,11 @@ +# Wallet schema for ACL history. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::AclHistory; use strict; diff --git a/perl/Wallet/Schema/Result/AclScheme.pm b/perl/Wallet/Schema/Result/AclScheme.pm index 8f76530..91a58b2 100644 --- a/perl/Wallet/Schema/Result/AclScheme.pm +++ b/perl/Wallet/Schema/Result/AclScheme.pm @@ -1,3 +1,11 @@ +# Wallet schema for ACL scheme. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::AclScheme; use strict; diff --git a/perl/Wallet/Schema/Result/Enctype.pm b/perl/Wallet/Schema/Result/Enctype.pm index ca54de5..5733669 100644 --- a/perl/Wallet/Schema/Result/Enctype.pm +++ b/perl/Wallet/Schema/Result/Enctype.pm @@ -1,3 +1,11 @@ +# Wallet schema for Kerberos encryption type. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::Enctype; use strict; diff --git a/perl/Wallet/Schema/Result/Flag.pm b/perl/Wallet/Schema/Result/Flag.pm index 9b98da9..e223ff8 100644 --- a/perl/Wallet/Schema/Result/Flag.pm +++ b/perl/Wallet/Schema/Result/Flag.pm @@ -1,3 +1,11 @@ +# Wallet schema for object flags. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::Flag; use strict; diff --git a/perl/Wallet/Schema/Result/KeytabEnctype.pm b/perl/Wallet/Schema/Result/KeytabEnctype.pm index 3de620f..daea724 100644 --- a/perl/Wallet/Schema/Result/KeytabEnctype.pm +++ b/perl/Wallet/Schema/Result/KeytabEnctype.pm @@ -1,3 +1,11 @@ +# Wallet schema for keytab enctype. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::KeytabEnctype; use strict; diff --git a/perl/Wallet/Schema/Result/KeytabSync.pm b/perl/Wallet/Schema/Result/KeytabSync.pm index 77ee23d..ca84277 100644 --- a/perl/Wallet/Schema/Result/KeytabSync.pm +++ b/perl/Wallet/Schema/Result/KeytabSync.pm @@ -1,3 +1,11 @@ +# Wallet schema for keytab synchronization. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::KeytabSync; use strict; diff --git a/perl/Wallet/Schema/Result/Object.pm b/perl/Wallet/Schema/Result/Object.pm index 7f59d27..fd64e1b 100644 --- a/perl/Wallet/Schema/Result/Object.pm +++ b/perl/Wallet/Schema/Result/Object.pm @@ -1,3 +1,11 @@ +# Wallet schema for an object. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::Object; use strict; diff --git a/perl/Wallet/Schema/Result/ObjectHistory.pm b/perl/Wallet/Schema/Result/ObjectHistory.pm index df0a7df..9cbb159 100644 --- a/perl/Wallet/Schema/Result/ObjectHistory.pm +++ b/perl/Wallet/Schema/Result/ObjectHistory.pm @@ -1,3 +1,11 @@ +# Wallet schema for object history. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::ObjectHistory; use strict; diff --git a/perl/Wallet/Schema/Result/SyncTarget.pm b/perl/Wallet/Schema/Result/SyncTarget.pm index 27174f5..4300a54 100644 --- a/perl/Wallet/Schema/Result/SyncTarget.pm +++ b/perl/Wallet/Schema/Result/SyncTarget.pm @@ -1,3 +1,11 @@ +# Wallet schema for synchronization targets. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::SyncTarget; use strict; diff --git a/perl/Wallet/Schema/Result/Type.pm b/perl/Wallet/Schema/Result/Type.pm index 5b2e1d0..748a8a8 100644 --- a/perl/Wallet/Schema/Result/Type.pm +++ b/perl/Wallet/Schema/Result/Type.pm @@ -1,3 +1,11 @@ +# Wallet schema for object types. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::Type; use strict; -- cgit v1.2.3