c040d34a6ef2f314a5928e7cff99cde35e9e4609
[dbsrgits/DBIx-Class-Journal.git] / lib / DBIx / Class / Journal.pm
1 package DBIx::Class::Journal;
2
3 use base qw/DBIx::Class/;
4
5 ## On create/insert, add new entry to AuditLog
6
7 sub new
8 {
9     my ($class, $attrs, @rest) = @_;
10
11     $class->result_source->schema->_journal_schema->current_user(delete $attrs->{user_id});
12
13     $self->next::method($attrs, @rest);
14 }
15
16 sub insert
17 {
18     my ($self) = @_;
19
20     ## create new transaction here?
21     $self->next::method();
22     if($self->in_storage)
23     {
24         my $s_name = $self->result_source_instance->name();
25         my $al = $self->result_source->schema->_journal_schema->resultset("${s_name}AuditLog");
26         $al->create({
27             changeset => $self->result_source->schema->_journal_schema->current_changeset(),
28         });
29 }
30
31 ## On delete, update delete_id of AuditLog
32
33 ## On update, copy previous row's contents to AuditHistory
34
35
36
37 1;