RT::Client::REST::User - user object representation.


RT-Client-REST documentation Contained in the RT-Client-REST distribution.

Index


Code Index:

NAME

Top

RT::Client::REST::User -- user object representation.

SYNOPSIS

Top

  my $rt = RT::Client::REST->new(server => $ENV{RTSERVER});

  my $user = RT::Client::REST::User->new(
    rt  => $rt,
    id  => $id,
  )->retrieve;

DESCRIPTION

Top

RT::Client::REST::User is based on RT::Client::REST::Object. The representation allows to retrieve, edit, comment on, and create users in RT.

Note: RT currently does not allow REST client to search users.

ATTRIBUTES

Top

id

For retrieval, you can specify either the numeric ID of the user or his username. After the retrieval, however, this attribute will be set to the numeric id.

name

This is the username of the user.

password

User's password. Reading it will only give you a bunch of stars (what else would you expect?).

email_address

E-mail address of the user.

real_name

Real name of the user.

gecos

Gecos.

comments

Comments about this user.

DB METHODS

Top

For full explanation of these, please see "DB METHODS" in RT::Client::REST::Object documentation.

retrieve

Retrieve RT user from database.

store

Create or update the user.

search

Currently RT does not allow REST clients to search users.

INTERNAL METHODS

Top

rt_type

Returns 'user'.

SEE ALSO

Top

RT::Client::REST, RT::Client::REST::Object, RT::Client::REST::SearchResult.

AUTHOR

Top

Dmitri Tikhonov <dtikhonov@yahoo.com>

LICENSE

Top

Perl license with the exception of RT::Client::REST, which is GPLed.


RT-Client-REST documentation Contained in the RT-Client-REST distribution.
# $Id: User.pm 2 2007-12-23 02:16:25Z dtikhonov $
#
# RT::Client::REST::User -- user object representation.

package RT::Client::REST::User;

use strict;
use warnings;

use vars qw($VERSION);
$VERSION = '0.02';

use Params::Validate qw(:types);
use RT::Client::REST 0.14;
use RT::Client::REST::Object 0.01;
use RT::Client::REST::Object::Exception 0.01;
use RT::Client::REST::SearchResult 0.02;
use base 'RT::Client::REST::Object';

sub _attributes {{
    id  => {
        validation  => {
            type    => SCALAR,
        },
        form2value  => sub {
            shift =~ m~^user/(\d+)$~i;
            return $1;
        },
        value2form  => sub {
            return 'user/' . shift;
        },
    },

    name   => {
        validation  => {
            type    => SCALAR,
        },
    },

    password   => {
        validation  => {
            type    => SCALAR,
        },
    },

    email_address => {
        validation  => {
            type    => SCALAR,
        },
        rest_name => 'EmailAddress',
    },

    real_name => {
        validation  => {
            type    => SCALAR,
        },
        rest_name => 'RealName',
    },

    gecos => {
        validation  => {
            type    => SCALAR,
        },
    },

    comments => {
        validation  => {
            type    => SCALAR,
        },
    },
}}

sub rt_type { 'user' }

__PACKAGE__->_generate_methods;

1;