ArangoDB2
view release on metacpan or search on metacpan
lib/ArangoDB2/User.pm view on Meta::CPAN
package ArangoDB2::User;
use strict;
use warnings;
use base qw(
ArangoDB2::Base
);
use Data::Dumper;
use JSON::XS;
my $JSON = JSON::XS->new->utf8;
my @PARAMS = qw(
active changePassword extra name passwd
);
###############
# API METHODS #
###############
# create
#
# POST /_api/user
sub create
{
my($self, $args) = @_;
# process request args
$args = $self->_build_args($args, \@PARAMS);
# use name for user param
$args->{user} = delete $args->{name};
# make request
my $res = $self->arango->http->post(
$self->api_path('user'),
undef,
$JSON->encode($args),
) or return;
# if request was success copy args to self
$self->_build_self($res, \@PARAMS);
return $self;
}
# delete
#
# DELETE /_api/user/{user}
sub delete
{
my($self, $args) = @_;
# process request args
$args = $self->_build_args($args, ['name']);
# make request
return $self->arango->http->delete(
$self->api_path('user', delete $args->{name}),
) or return;
}
# get
#
# GET /_api/user/{user}
sub get
{
my($self, $args) = @_;
# process request args
$args = $self->_build_args($args, ['name']);
# make request
my $res = $self->arango->http->get(
$self->api_path('user', delete $args->{name}),
) or return;
# copy param data from res to self
( run in 0.598 second using v1.01-cache-2.11-cpan-39bf76dae61 )