RT::Client::REST::Queue - queue object representation.


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

Index


Code Index:

NAME

Top

RT::Client::REST::Queue -- queue object representation.

SYNOPSIS

Top

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

  my $queue = RT::Client::REST::Queue->new(
    rt  => $rt,
    id  => 'General',
  )->retrieve;

DESCRIPTION

Top

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

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

ATTRIBUTES

Top

id

For retrieval, you can specify either the numeric ID of the queue or its name (case-sensitive). After the retrieval, however, this attribute will be set to the numeric id.

name

This is the name of the queue.

description

Queue description.

correspond_address

Correspond address.

comment_address

Comment address.

initial_priority

Initial priority.

final_priority

Final priority.

default_due_in

Default due in.

DB METHODS

Top

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

retrieve

Retrieve queue from database.

store

Create or update the queue.

search

Currently RT does not allow REST clients to search queues.

QUEUE-SPECIFIC METHODS

Top

tickets

Get tickets that are in this queue (note: this may be a lot of tickets). Note: tickets with status "deleted" will not be shown. Object of type RT::Client::REST::SearchResult is returned which then can be used to get to objects of type RT::Client::REST::Ticket.

INTERNAL METHODS

Top

rt_type

Returns 'queue'.

SEE ALSO

Top

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

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: Queue.pm 2 2007-12-23 02:16:25Z dtikhonov $
#
# RT::Client::REST::Queue -- queue object representation.

package RT::Client::REST::Queue;

use strict;
use warnings;

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

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

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

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

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

    correspond_address => {
        validation  => {
            type    => SCALAR,
        },
        rest_name => 'CorrespondAddress',
    },

    comment_address => {
        validation  => {
            type    => SCALAR,
        },
        rest_name => 'CommentAddress',
    },

    initial_priority => {
        validation  => {
            type    => SCALAR,
        },
        rest_name => 'InitialPriority',
    },

    final_priority => {
        validation  => {
            type    => SCALAR,
        },
        rest_name => 'FinalPriority',
    },

    default_due_in => {
        validation  => {
            type    => SCALAR,
        },
        rest_name => 'DefaultDueIn',
    },
}}

sub tickets {
    my $self = shift;

    $self->_assert_rt_and_id;

    return RT::Client::REST::Ticket
        ->new(rt => $self->rt)
        ->search(limits => [
            {attribute => 'queue', operator => '=', value => $self->id},
        ]);
}

sub rt_type { 'queue' }

__PACKAGE__->_generate_methods;

1;