summaryrefslogtreecommitdiff
path: root/perl/lib/Wallet/Schema/Result/AclEntry.pm
blob: a33a98cde1e5d213a51c7de1e447bc083bd7a7f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# Wallet schema for an entry in an ACL.
#
# Written by Jon Robertson <jonrober@stanford.edu>
# 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;
use warnings;

use base 'DBIx::Class::Core';

=for stopwords
ACL

=head1 NAME

Wallet::Schema::Result::AclEntry - Wallet schema for an entry in an ACL

=head1 DESCRIPTION

=cut

__PACKAGE__->table("acl_entries");

=head1 ACCESSORS

=head2 ae_id

  data_type: 'integer'
  is_nullable: 0

=head2 ae_scheme

  data_type: 'varchar'
  is_nullable: 0
  size: 32

=head2 ae_identifier

  data_type: 'varchar'
  is_nullable: 0
  size: 255

=cut

__PACKAGE__->add_columns(
  "ae_id",
  { data_type => "integer", is_nullable => 0 },
  "ae_scheme",
  { data_type => "varchar", is_nullable => 0, size => 32 },
  "ae_identifier",
  { data_type => "varchar", is_nullable => 0, size => 255 },
);
__PACKAGE__->set_primary_key("ae_id", "ae_scheme", "ae_identifier");

__PACKAGE__->belongs_to(
                      'acls',
                      'Wallet::Schema::Result::Acl',
                      { 'foreign.ac_id' => 'self.ae_id' },
                      { is_deferrable => 1, on_delete => 'CASCADE',
                        on_update => 'CASCADE' },
                     );

__PACKAGE__->has_one(
                     'acl_scheme',
                     'Wallet::Schema::Result::AclScheme',
                     { 'foreign.as_name' => 'self.ae_scheme' },
                     { cascade_delete => 0 },
                    );
1;