1package OpenXPKI::Server::Workflow::Activity::User::InsertUserData; 2 3use strict; 4use base qw( OpenXPKI::Server::Workflow::Activity ); 5 6use OpenXPKI::Server::Context qw( CTX ); 7use OpenXPKI::Exception; 8use OpenXPKI::Debug; 9use OpenXPKI::Serialization::Simple; 10use Data::Dumper; 11 12sub execute { 13 14 my ($self, $workflow) = @_; 15 my $context = $workflow->context(); 16 my $params = $self->param(); 17 18 # make sure that users can only be inserted in the current realm 19 my $values = { 20 pki_realm => CTX('api2')->get_pki_realm() 21 }; 22 23 # add additional parameters from params, workflow designer must provide all required params 24 foreach my $key (keys %{$params}) { 25 $values->{$key} = $self->param($key); 26 } 27 28 # perform simple insert 29 CTX('dbi')->insert( 30 into => 'users', 31 values => $values 32 ); 33 return 1; 34} 35 361; 37 38 39=head1 Name 40 41OpenXPKI::Server::Workflow::Activity::User::InsertUserData; 42 43=head1 Description 44 45Inserts a new user in the database 46 47=head1 Configuration 48 49All required user attributes must be provided as parameters: 50 51 class: OpenXPKI::Server::Workflow::Activity::User::InsertUserData; 52 param: 53 _map_username: $username 54 _map_role: $role 55 ... 56