1 package OpenILS::Application::Storage::Publisher::actor;
2 use base qw/OpenILS::Application::Storage/;
3 use OpenILS::Application::Storage::CDBI::actor;
4 use OpenSRF::Utils::Logger qw/:level/;
5 use OpenILS::Utils::Fieldmapper;
7 my $log = 'OpenSRF::Utils::Logger';
17 $log->debug("Searching for $id using ".$self->api_name, DEBUG);
21 if ($self->api_name =~/username/o) {
22 ($rec) = actor::user->search( usrname => "$id");
23 } elsif ($self->api_name =~/userid/o) {
24 ($rec) = actor::user->search( usrid => "$id");
26 $rec = actor::user->retrieve("$id");
31 my $user = Fieldmapper::actor::user->new;
33 for my $field (Fieldmapper::actor::user->real_fields) {
34 $user->$field($rec->$field);
37 $client->respond( $user );
41 last if ($self->api_name !~ /list$/o);
45 __PACKAGE__->register_method(
46 method => 'get_user_record',
47 api_name => 'open-ils.storage.actor.user.retrieve',
51 __PACKAGE__->register_method(
52 method => 'get_user_record',
53 api_name => 'open-ils.storage.actor.user.search.username',
57 __PACKAGE__->register_method(
58 method => 'get_user_record',
59 api_name => 'open-ils.storage.actor.user.search.userid',
63 __PACKAGE__->register_method(
64 method => 'get_user_record',
65 api_name => 'open-ils.storage.actor.user.retrieve.list',
69 __PACKAGE__->register_method(
70 method => 'get_user_record',
71 api_name => 'open-ils.storage.actor.user.search.username.list',
76 __PACKAGE__->register_method(
77 method => 'get_user_record',
78 api_name => 'open-ils.storage.actor.user.search.userid.list',
84 sub update_user_record {
89 my $rec = actor::user->retrieve(''.$user->id);
90 return 0 unless ($rec);
94 for my $field ( Fieldmapper::actor::user->real_fields ) {
95 $rec->$field( $user->$field );
98 return 0 unless ($rec->is_changed);
104 __PACKAGE__->register_method(
105 method => 'update_user_record',
106 api_name => 'open-ils.storage.actor.user.update',
111 sub delete_record_entry {
116 my $rec = actor::user->retrieve(''.$user->id);
117 return 0 unless ($rec);
122 __PACKAGE__->register_method(
123 method => 'delete_user_record',
124 api_name => 'open-ils.storage.actor.user.delete',