File Coverage

blib/lib/WebService/Mattermost/V4/API/Object/Compliance/Report.pm
Criterion Covered Total %
statement 6 24 25.0
branch n/a
condition n/a
subroutine 2 10 20.0
pod 0 1 0.0
total 8 35 22.8


line stmt bran cond sub pod time code
1             package WebService::Mattermost::V4::API::Object::Compliance::Report;
2              
3             # ABSTRACT: A compliance report item.
4              
5 7     7   49 use Moo;
  7         15  
  7         55  
6 7     7   2782 use Types::Standard qw(Str InstanceOf Int Maybe);
  7         15  
  7         70  
7              
8             extends 'WebService::Mattermost::V4::API::Object';
9             with    qw(
10             WebService::Mattermost::V4::API::Object::Role::APIMethods
11             WebService::Mattermost::V4::API::Object::Role::ID
12             WebService::Mattermost::V4::API::Object::Role::Status
13             WebService::Mattermost::V4::API::Object::Role::CreatedAt
14             WebService::Mattermost::V4::API::Object::Role::BelongingToUser
15             );
16              
17             ################################################################################
18              
19             has [ qw(count start_at end_at) ] => (is => 'ro', isa => Maybe[Int], lazy => 1, builder => 1);
20             has [ qw(desc type keywords emails) ] => (is => 'ro', isa => Maybe[Str], lazy => 1, builder => 1);
21              
22             has [ qw(
23             started_at
24             ended_at
25             ) ] => (is => 'ro', isa => Maybe[InstanceOf['DateTime']], lazy => 1, builder => 1);
26              
27             ################################################################################
28              
29             sub BUILD {
30 0     0 0       my $self = shift;
31              
32 0               $self->api_resource_name('compliance_report');
33 0               $self->set_available_api_methods([ 'download' ]);
34              
35 0               return 1;
36             }
37              
38             ################################################################################
39              
40             sub _build_count {
41 0     0         my $self = shift;
42              
43 0               return $self->raw_data->{count};
44             }
45              
46             sub _build_start_at {
47 0     0         my $self = shift;
48              
49 0               return $self->raw_data->{start_at};
50             }
51              
52             sub _build_end_at {
53 0     0         my $self = shift;
54              
55 0               return $self->raw_data->{end_at};
56             }
57              
58             sub _build_desc {
59 0     0         my $self = shift;
60              
61 0               return $self->raw_data->{desc};
62             }
63              
64             sub _build_type {
65 0     0         my $self = shift;
66              
67 0               return $self->raw_data->{type};
68             }
69              
70             sub _build_keywords {
71 0     0         my $self = shift;
72              
73 0               return $self->raw_data->{keywords};
74             }
75              
76             sub _build_emails {
77 0     0         my $self = shift;
78              
79 0               return $self->raw_data->{emails};
80             }
81              
82             ################################################################################
83              
84             1;
85              
86             __END__
87            
88             =pod
89            
90             =encoding UTF-8
91            
92             =head1 NAME
93            
94             WebService::Mattermost::V4::API::Object::Compliance::Report - A compliance report item.
95            
96             =head1 VERSION
97            
98             version 0.26
99            
100             =head1 DESCRIPTION
101            
102             See matching methods in L<WebService::Mattermost::V4::API::Resource::Compliance::Report>
103             for full documentation.
104            
105             ID parameters are not required:
106            
107             my $response = $mattermost->api->compliance_report->get('ID-HERE')->item->download();
108            
109             Is the same as:
110            
111             my $response = $mattermost->api->compliance_report->download('ID-HERE');
112            
113             =head2 ATTRIBUTES
114            
115             =over 4
116            
117             =item C<count>
118            
119             =item C<start_at>
120            
121             =item C<end_at>
122            
123             =item C<desc>
124            
125             =item C<type>
126            
127             =item C<keywords>
128            
129             =item C<emails>
130            
131             =item C<started_at>
132            
133             =item C<ended_at>
134            
135             =back
136            
137             =head1 SEE ALSO
138            
139             =over 4
140            
141             =item L<WebService::Mattermost::V4::API::Resource::Compliance::Report>
142            
143             =item L<WebService::Mattermost::V4::API::Object::Role::ID>
144            
145             =item L<WebService::Mattermost::V4::API::Object::Role::Status>
146            
147             =item L<WebService::Mattermost::V4::API::Object::Role::CreatedAt>
148            
149             =item L<WebService::Mattermost::V4::API::Object::Role::BelongingToUser>
150            
151             =back
152            
153             =head1 AUTHOR
154            
155             Mike Jones <mike@netsplit.org.uk>
156            
157             =head1 COPYRIGHT AND LICENSE
158            
159             This software is Copyright (c) 2020 by Mike Jones.
160            
161             This is free software, licensed under:
162            
163             The MIT (X11) License
164            
165             =cut
166