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