]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/biblio.pm
a73e5730781fe98ae01f819ec06ed6a72db6342a
[Evergreen.git] / Open-ILS / src / perlmods / OpenILS / Application / Storage / CDBI / biblio.pm
1 package OpenILS::Application::Storage::CDBI::biblio;
2 our $VERSION = 1;
3
4 #-------------------------------------------------------------------------------
5 package biblio;
6 use base qw/OpenILS::Application::Storage::CDBI/;
7 #-------------------------------------------------------------------------------
8 package biblio::record_entry;
9 use base qw/biblio/;
10 #use OpenILS::Application::Storage::CDBI::asset;
11
12 biblio::record_entry->table( 'biblio_record_entry' );
13 biblio::record_entry->columns( All => qw/id tcn_source tcn_value creator
14                                          editor create_date edit_date item_type
15                                          source active deleted last_xact_id/ );
16
17 #-------------------------------------------------------------------------------
18 package biblio::record_node::subnode;
19 sub _load {
20         my $intra_doc_id = shift;
21         my $owner_doc = shift()->owner_doc;
22         return (biblio::record_node->search(
23                         owner_doc       => $owner_doc,
24                         intra_doc_id    => $intra_doc_id
25                 )
26         )[0];
27 }
28
29 package biblio::record_node;
30 use base qw/biblio/;
31
32 biblio::record_node->table( 'biblio_record_data' );
33 biblio::record_node->columns( All => qw/id owner_doc intra_doc_id
34                                         parent_node node_type
35                                         namespace_uri name value last_xact_id/ );
36
37 #biblio::record_node->has_a(
38 #       parent_node     => 'biblio::record_node::subnode',
39 #       inflate         => sub {
40 #                               return biblio::record_node::subnode::_load(@_)
41 #                       },
42 #);
43
44
45 #-------------------------------------------------------------------------------
46 package biblio::record_marc;
47 use base qw/biblio/;
48
49 biblio::record_marc->table( 'biblio_record_marc' );
50 biblio::record_marc->columns( All => qw/id marc last_xact_id/ );
51 #biblio::record_marc->columns( Stringify => qw/marc/ );
52 #biblio::record_marc->is_a( id => qw/biblio::record_entry/ );
53
54 #-------------------------------------------------------------------------------
55 package biblio::record_mods;
56 use base qw/biblio/;
57
58 biblio::record_mods->table( 'biblio_record_mods' );
59 biblio::record_mods->columns( All => qw/id mods/ );
60 #biblio::record_mods->columns( Stringify => qw/mods/ );
61 #biblio::record_mods->is_a( id => qw/biblio::record_entry/ );
62
63 #-------------------------------------------------------------------------------
64 package biblio::record_note;
65 use base qw/biblio/;
66
67 biblio::record_note->table( 'biblio_record_note' );
68 biblio::record_note->columns( All => qw/id record value creator
69                                         editor create_date edit_date/ );
70 #biblio::record_note->columns( Stringify => qw/value/ );
71 #biblio::record_note->is_a( record => qw/biblio::record_entry/ );
72
73 #-------------------------------------------------------------------------------
74
75 1;
76