Google-RestApi
view release on metacpan or search on metacpan
lib/Google/RestApi/GmailApi1/Draft.pm view on Meta::CPAN
subject => Str,
body => Str,
from => Str, { optional => 1 },
cc => Str, { optional => 1 },
bcc => Str, { optional => 1 },
content_type => Str, { default => 'text/plain' },
],
);
my $p = $check->(@_);
my $raw = $self->gmail_api()->_build_mime(%$p);
DEBUG("Creating draft");
my $result = $self->gmail_api()->api(
uri => 'drafts',
method => 'post',
content => { message => { raw => $raw } },
);
return ref($self)->new(gmail_api => $self->gmail_api(), id => $result->{id});
}
sub create_raw {
my $self = shift;
state $check = signature(
bless => !!0,
named => [
raw => Str,
],
);
my $p = $check->(@_);
DEBUG("Creating draft from raw message");
my $result = $self->gmail_api()->api(
uri => 'drafts',
method => 'post',
content => { message => { raw => $p->{raw} } },
);
return ref($self)->new(gmail_api => $self->gmail_api(), id => $result->{id});
}
sub get {
my $self = shift;
state $check = signature(
bless => !!0,
named => [
format => Str, { optional => 1 },
fields => Str, { optional => 1 },
],
);
my $p = $check->(@_);
$self->require_id('get');
my %params;
$params{format} = $p->{format} if defined $p->{format};
$params{fields} = $p->{fields} if defined $p->{fields};
return $self->api(params => \%params);
}
sub update {
my $self = shift;
state $check = signature(
bless => !!0,
named => [
to => Str,
subject => Str,
body => Str,
from => Str, { optional => 1 },
cc => Str, { optional => 1 },
bcc => Str, { optional => 1 },
content_type => Str, { default => 'text/plain' },
],
);
my $p = $check->(@_);
$self->require_id('update');
my $raw = $self->gmail_api()->_build_mime(%$p);
DEBUG(sprintf("Updating draft '%s'", $self->{id}));
return $self->api(
method => 'put',
content => { message => { raw => $raw } },
);
}
sub send {
my $self = shift;
$self->require_id('send');
DEBUG(sprintf("Sending draft '%s'", $self->{id}));
return $self->gmail_api()->api(
uri => 'drafts/send',
method => 'post',
content => { id => $self->{id} },
);
}
sub delete {
my $self = shift;
$self->require_id('delete');
DEBUG(sprintf("Deleting draft '%s'", $self->{id}));
return $self->api(method => 'delete');
}
sub draft_id { shift->{id}; }
sub gmail_api { shift->{gmail_api}; }
1;
__END__
=head1 NAME
Google::RestApi::GmailApi1::Draft - Draft object for Gmail.
=head1 SYNOPSIS
( run in 0.780 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )