| line | stmt | bran | cond | sub | pod | time | code | 
| 1 |  |  |  |  |  |  | package WebService::Mattermost::V4::API; | 
| 2 |  |  |  |  |  |  |  | 
| 3 |  |  |  |  |  |  |  | 
| 4 |  |  |  |  |  |  |  | 
| 5 | 7 |  |  | 7 |  | 49 | use Moo; | 
|  | 7 |  |  |  |  | 15 |  | 
|  | 7 |  |  |  |  | 50 |  | 
| 6 | 7 |  |  | 7 |  | 5115 | use MooX::HandlesVia; | 
|  | 7 |  |  |  |  | 50990 |  | 
|  | 7 |  |  |  |  | 44 |  | 
| 7 | 7 |  |  | 7 |  | 989 | use Types::Standard qw(ArrayRef Bool InstanceOf Str); | 
|  | 7 |  |  |  |  | 14 |  | 
|  | 7 |  |  |  |  | 52 |  | 
| 8 |  |  |  |  |  |  |  | 
| 9 | 7 |  |  | 7 |  | 8980 | use WebService::Mattermost::V4::API::Resource::Analytics; | 
|  | 7 |  |  |  |  | 27 |  | 
|  | 7 |  |  |  |  | 285 |  | 
| 10 | 7 |  |  | 7 |  | 3934 | use WebService::Mattermost::V4::API::Resource::Audits; | 
|  | 7 |  |  |  |  | 25 |  | 
|  | 7 |  |  |  |  | 268 |  | 
| 11 | 7 |  |  | 7 |  | 3107 | use WebService::Mattermost::V4::API::Resource::Bots; | 
|  | 7 |  |  |  |  | 469 |  | 
|  | 7 |  |  |  |  | 239 |  | 
| 12 | 7 |  |  | 7 |  | 3133 | use WebService::Mattermost::V4::API::Resource::Brand; | 
|  | 7 |  |  |  |  | 34 |  | 
|  | 7 |  |  |  |  | 208 |  | 
| 13 | 7 |  |  | 7 |  | 2950 | use WebService::Mattermost::V4::API::Resource::Cache; | 
|  | 7 |  |  |  |  | 34 |  | 
|  | 7 |  |  |  |  | 198 |  | 
| 14 | 7 |  |  | 7 |  | 3080 | use WebService::Mattermost::V4::API::Resource::Channel; | 
|  | 7 |  |  |  |  | 22 |  | 
|  | 7 |  |  |  |  | 213 |  | 
| 15 | 7 |  |  | 7 |  | 3572 | use WebService::Mattermost::V4::API::Resource::Channel::Member; | 
|  | 7 |  |  |  |  | 21 |  | 
|  | 7 |  |  |  |  | 262 |  | 
| 16 | 7 |  |  | 7 |  | 3240 | use WebService::Mattermost::V4::API::Resource::Channels; | 
|  | 7 |  |  |  |  | 19 |  | 
|  | 7 |  |  |  |  | 197 |  | 
| 17 | 7 |  |  | 7 |  | 3014 | use WebService::Mattermost::V4::API::Resource::Cluster; | 
|  | 7 |  |  |  |  | 20 |  | 
|  | 7 |  |  |  |  | 208 |  | 
| 18 | 7 |  |  | 7 |  | 3005 | use WebService::Mattermost::V4::API::Resource::Compliance; | 
|  | 7 |  |  |  |  | 24 |  | 
|  | 7 |  |  |  |  | 212 |  | 
| 19 | 7 |  |  | 7 |  | 3194 | use WebService::Mattermost::V4::API::Resource::Compliance::Report; | 
|  | 7 |  |  |  |  | 21 |  | 
|  | 7 |  |  |  |  | 194 |  | 
| 20 | 7 |  |  | 7 |  | 3109 | use WebService::Mattermost::V4::API::Resource::DataRetention; | 
|  | 7 |  |  |  |  | 22 |  | 
|  | 7 |  |  |  |  | 220 |  | 
| 21 | 7 |  |  | 7 |  | 3071 | use WebService::Mattermost::V4::API::Resource::Database; | 
|  | 7 |  |  |  |  | 22 |  | 
|  | 7 |  |  |  |  | 198 |  | 
| 22 | 7 |  |  | 7 |  | 3003 | use WebService::Mattermost::V4::API::Resource::ElasticSearch; | 
|  | 7 |  |  |  |  | 20 |  | 
|  | 7 |  |  |  |  | 262 |  | 
| 23 | 7 |  |  | 7 |  | 3252 | use WebService::Mattermost::V4::API::Resource::Email; | 
|  | 7 |  |  |  |  | 23 |  | 
|  | 7 |  |  |  |  | 190 |  | 
| 24 | 7 |  |  | 7 |  | 2977 | use WebService::Mattermost::V4::API::Resource::Emoji; | 
|  | 7 |  |  |  |  | 21 |  | 
|  | 7 |  |  |  |  | 189 |  | 
| 25 | 7 |  |  | 7 |  | 3084 | use WebService::Mattermost::V4::API::Resource::File; | 
|  | 7 |  |  |  |  | 22 |  | 
|  | 7 |  |  |  |  | 187 |  | 
| 26 | 7 |  |  | 7 |  | 2942 | use WebService::Mattermost::V4::API::Resource::Files; | 
|  | 7 |  |  |  |  | 20 |  | 
|  | 7 |  |  |  |  | 183 |  | 
| 27 | 7 |  |  | 7 |  | 3110 | use WebService::Mattermost::V4::API::Resource::Job; | 
|  | 7 |  |  |  |  | 19 |  | 
|  | 7 |  |  |  |  | 227 |  | 
| 28 | 7 |  |  | 7 |  | 3148 | use WebService::Mattermost::V4::API::Resource::Jobs; | 
|  | 7 |  |  |  |  | 20 |  | 
|  | 7 |  |  |  |  | 187 |  | 
| 29 | 7 |  |  | 7 |  | 3073 | use WebService::Mattermost::V4::API::Resource::LDAP; | 
|  | 7 |  |  |  |  | 22 |  | 
|  | 7 |  |  |  |  | 204 |  | 
| 30 | 7 |  |  | 7 |  | 2948 | use WebService::Mattermost::V4::API::Resource::Logs; | 
|  | 7 |  |  |  |  | 23 |  | 
|  | 7 |  |  |  |  | 276 |  | 
| 31 | 7 |  |  | 7 |  | 3114 | use WebService::Mattermost::V4::API::Resource::OAuth; | 
|  | 7 |  |  |  |  | 20 |  | 
|  | 7 |  |  |  |  | 242 |  | 
| 32 | 7 |  |  | 7 |  | 3364 | use WebService::Mattermost::V4::API::Resource::OAuth::Application; | 
|  | 7 |  |  |  |  | 22 |  | 
|  | 7 |  |  |  |  | 209 |  | 
| 33 | 7 |  |  | 7 |  | 3119 | use WebService::Mattermost::V4::API::Resource::Plugin; | 
|  | 7 |  |  |  |  | 26 |  | 
|  | 7 |  |  |  |  | 199 |  | 
| 34 | 7 |  |  | 7 |  | 3163 | use WebService::Mattermost::V4::API::Resource::Plugins; | 
|  | 7 |  |  |  |  | 32 |  | 
|  | 7 |  |  |  |  | 223 |  | 
| 35 | 7 |  |  | 7 |  | 3386 | use WebService::Mattermost::V4::API::Resource::Post; | 
|  | 7 |  |  |  |  | 22 |  | 
|  | 7 |  |  |  |  | 205 |  | 
| 36 | 7 |  |  | 7 |  | 3048 | use WebService::Mattermost::V4::API::Resource::Posts; | 
|  | 7 |  |  |  |  | 19 |  | 
|  | 7 |  |  |  |  | 224 |  | 
| 37 | 7 |  |  | 7 |  | 3243 | use WebService::Mattermost::V4::API::Resource::Reactions; | 
|  | 7 |  |  |  |  | 19 |  | 
|  | 7 |  |  |  |  | 181 |  | 
| 38 | 7 |  |  | 7 |  | 3084 | use WebService::Mattermost::V4::API::Resource::Roles; | 
|  | 7 |  |  |  |  | 18 |  | 
|  | 7 |  |  |  |  | 212 |  | 
| 39 | 7 |  |  | 7 |  | 3178 | use WebService::Mattermost::V4::API::Resource::S3; | 
|  | 7 |  |  |  |  | 21 |  | 
|  | 7 |  |  |  |  | 208 |  | 
| 40 | 7 |  |  | 7 |  | 3009 | use WebService::Mattermost::V4::API::Resource::SAML; | 
|  | 7 |  |  |  |  | 21 |  | 
|  | 7 |  |  |  |  | 274 |  | 
| 41 | 7 |  |  | 7 |  | 3016 | use WebService::Mattermost::V4::API::Resource::Schemes; | 
|  | 7 |  |  |  |  | 21 |  | 
|  | 7 |  |  |  |  | 253 |  | 
| 42 | 7 |  |  | 7 |  | 2974 | use WebService::Mattermost::V4::API::Resource::System; | 
|  | 7 |  |  |  |  | 22 |  | 
|  | 7 |  |  |  |  | 191 |  | 
| 43 | 7 |  |  | 7 |  | 3250 | use WebService::Mattermost::V4::API::Resource::Team; | 
|  | 7 |  |  |  |  | 26 |  | 
|  | 7 |  |  |  |  | 294 |  | 
| 44 | 7 |  |  | 7 |  | 3299 | use WebService::Mattermost::V4::API::Resource::Teams; | 
|  | 7 |  |  |  |  | 22 |  | 
|  | 7 |  |  |  |  | 196 |  | 
| 45 | 7 |  |  | 7 |  | 3832 | use WebService::Mattermost::V4::API::Resource::User; | 
|  | 7 |  |  |  |  | 24 |  | 
|  | 7 |  |  |  |  | 212 |  | 
| 46 | 7 |  |  | 7 |  | 3379 | use WebService::Mattermost::V4::API::Resource::Users; | 
|  | 7 |  |  |  |  | 23 |  | 
|  | 7 |  |  |  |  | 246 |  | 
| 47 | 7 |  |  | 7 |  | 3143 | use WebService::Mattermost::V4::API::Resource::Webhook; | 
|  | 7 |  |  |  |  | 23 |  | 
|  | 7 |  |  |  |  | 229 |  | 
| 48 | 7 |  |  | 7 |  | 3008 | use WebService::Mattermost::V4::API::Resource::WebRTC; | 
|  | 7 |  |  |  |  | 23 |  | 
|  | 7 |  |  |  |  | 202 |  | 
| 49 | 7 |  |  | 7 |  | 46 | use WebService::Mattermost::Helper::Alias 'v4'; | 
|  | 7 |  |  |  |  | 18 |  | 
|  | 7 |  |  |  |  | 12107 |  | 
| 50 |  |  |  |  |  |  |  | 
| 51 |  |  |  |  |  |  |  | 
| 52 |  |  |  |  |  |  |  | 
| 53 |  |  |  |  |  |  | has auth_token => (is => 'ro', isa => Str, required => 1); | 
| 54 |  |  |  |  |  |  | has base_url   => (is => 'ro', isa => Str, required => 1); | 
| 55 |  |  |  |  |  |  |  | 
| 56 |  |  |  |  |  |  | has authenticate           => (is => 'ro', isa => Bool,     default => 0); | 
| 57 |  |  |  |  |  |  | has debug                  => (is => 'ro', isa => Bool,     default => 0); | 
| 58 |  |  |  |  |  |  | has resources              => (is => 'rw', isa => ArrayRef, default => sub { [] }, | 
| 59 |  |  |  |  |  |  | handles_via => 'Array', | 
| 60 |  |  |  |  |  |  | handles     => { | 
| 61 |  |  |  |  |  |  | add_resource => 'push', | 
| 62 |  |  |  |  |  |  | }); | 
| 63 |  |  |  |  |  |  |  | 
| 64 |  |  |  |  |  |  | has analytics         => (is => 'ro', isa => InstanceOf[v4 'Analytics'],          lazy => 1, builder => 1); | 
| 65 |  |  |  |  |  |  | has application       => (is => 'ro', isa => InstanceOf[v4 'OAuth::Application'], lazy => 1, builder => 1); | 
| 66 |  |  |  |  |  |  | has audits            => (is => 'ro', isa => InstanceOf[v4 'Audits'],             lazy => 1, builder => 1); | 
| 67 |  |  |  |  |  |  | has bots              => (is => 'ro', isa => InstanceOf[v4 'Bots'],               lazy => 1, builder => 1); | 
| 68 |  |  |  |  |  |  | has brand             => (is => 'ro', isa => InstanceOf[v4 'Brand'],              lazy => 1, builder => 1); | 
| 69 |  |  |  |  |  |  | has cache             => (is => 'ro', isa => InstanceOf[v4 'Cache'],              lazy => 1, builder => 1); | 
| 70 |  |  |  |  |  |  | has channel           => (is => 'ro', isa => InstanceOf[v4 'Channel'],            lazy => 1, builder => 1); | 
| 71 |  |  |  |  |  |  | has channel_member    => (is => 'ro', isa => InstanceOf[v4 'Channel::Member'],    lazy => 1, builder => 1); | 
| 72 |  |  |  |  |  |  | has channels          => (is => 'ro', isa => InstanceOf[v4 'Channels'],           lazy => 1, builder => 1); | 
| 73 |  |  |  |  |  |  | has cluster           => (is => 'ro', isa => InstanceOf[v4 'Cluster'],            lazy => 1, builder => 1); | 
| 74 |  |  |  |  |  |  | has compliance        => (is => 'ro', isa => InstanceOf[v4 'Compliance'],         lazy => 1, builder => 1); | 
| 75 |  |  |  |  |  |  | has compliance_report => (is => 'ro', isa => InstanceOf[v4 'Compliance::Report'], lazy => 1, builder => 1); | 
| 76 |  |  |  |  |  |  | has data_retention    => (is => 'ro', isa => InstanceOf[v4 'DataRetention'],      lazy => 1, builder => 1); | 
| 77 |  |  |  |  |  |  | has database          => (is => 'ro', isa => InstanceOf[v4 'Database'],           lazy => 1, builder => 1); | 
| 78 |  |  |  |  |  |  | has elasticsearch     => (is => 'ro', isa => InstanceOf[v4 'ElasticSearch'],      lazy => 1, builder => 1); | 
| 79 |  |  |  |  |  |  | has email             => (is => 'ro', isa => InstanceOf[v4 'Email'],              lazy => 1, builder => 1); | 
| 80 |  |  |  |  |  |  | has emoji             => (is => 'ro', isa => InstanceOf[v4 'Emoji'],              lazy => 1, builder => 1); | 
| 81 |  |  |  |  |  |  | has file              => (is => 'ro', isa => InstanceOf[v4 'File'],               lazy => 1, builder => 1); | 
| 82 |  |  |  |  |  |  | has files             => (is => 'ro', isa => InstanceOf[v4 'Files'],              lazy => 1, builder => 1); | 
| 83 |  |  |  |  |  |  | has job               => (is => 'ro', isa => InstanceOf[v4 'Job'],                lazy => 1, builder => 1); | 
| 84 |  |  |  |  |  |  | has jobs              => (is => 'ro', isa => InstanceOf[v4 'Jobs'],               lazy => 1, builder => 1); | 
| 85 |  |  |  |  |  |  | has ldap              => (is => 'ro', isa => InstanceOf[v4 'LDAP'],               lazy => 1, builder => 1); | 
| 86 |  |  |  |  |  |  | has logs              => (is => 'ro', isa => InstanceOf[v4 'Logs'],               lazy => 1, builder => 1); | 
| 87 |  |  |  |  |  |  | has oauth             => (is => 'ro', isa => InstanceOf[v4 'OAuth'],              lazy => 1, builder => 1); | 
| 88 |  |  |  |  |  |  | has plugin            => (is => 'ro', isa => InstanceOf[v4 'Plugin'],             lazy => 1, builder => 1); | 
| 89 |  |  |  |  |  |  | has plugins           => (is => 'ro', isa => InstanceOf[v4 'Plugins'],            lazy => 1, builder => 1); | 
| 90 |  |  |  |  |  |  | has post              => (is => 'ro', isa => InstanceOf[v4 'Post'],               lazy => 1, builder => 1); | 
| 91 |  |  |  |  |  |  | has posts             => (is => 'ro', isa => InstanceOf[v4 'Posts'],              lazy => 1, builder => 1); | 
| 92 |  |  |  |  |  |  | has reactions         => (is => 'ro', isa => InstanceOf[v4 'Reactions'],          lazy => 1, builder => 1); | 
| 93 |  |  |  |  |  |  | has roles             => (is => 'ro', isa => InstanceOf[v4 'Roles'],              lazy => 1, builder => 1); | 
| 94 |  |  |  |  |  |  | has s3                => (is => 'ro', isa => InstanceOf[v4 'S3'],                 lazy => 1, builder => 1); | 
| 95 |  |  |  |  |  |  | has saml              => (is => 'ro', isa => InstanceOf[v4 'SAML'],               lazy => 1, builder => 1); | 
| 96 |  |  |  |  |  |  | has schemes           => (is => 'ro', isa => InstanceOf[v4 'Schemes'],            lazy => 1, builder => 1); | 
| 97 |  |  |  |  |  |  | has system            => (is => 'ro', isa => InstanceOf[v4 'System'],             lazy => 1, builder => 1); | 
| 98 |  |  |  |  |  |  | has team              => (is => 'ro', isa => InstanceOf[v4 'Team'],               lazy => 1, builder => 1); | 
| 99 |  |  |  |  |  |  | has teams             => (is => 'ro', isa => InstanceOf[v4 'Teams'],              lazy => 1, builder => 1); | 
| 100 |  |  |  |  |  |  | has user              => (is => 'ro', isa => InstanceOf[v4 'User'],               lazy => 1, builder => 1); | 
| 101 |  |  |  |  |  |  | has users             => (is => 'ro', isa => InstanceOf[v4 'Users'],              lazy => 1, builder => 1); | 
| 102 |  |  |  |  |  |  | has webhooks          => (is => 'ro', isa => InstanceOf[v4 'Webhook'],            lazy => 1, builder => 1); | 
| 103 |  |  |  |  |  |  | has webrtc            => (is => 'ro', isa => InstanceOf[v4 'WebRTC'],             lazy => 1, builder => 1); | 
| 104 |  |  |  |  |  |  |  | 
| 105 |  |  |  |  |  |  |  | 
| 106 |  |  |  |  |  |  |  | 
| 107 |  |  |  |  |  |  | sub BUILD { | 
| 108 | 34 |  |  | 34 | 0 | 1251 | my $self = shift; | 
| 109 |  |  |  |  |  |  |  | 
| 110 | 34 |  |  |  |  | 218 | foreach my $name (sort $self->meta->get_attribute_list) { | 
| 111 | 1530 |  |  |  |  | 6182183 | my $attr = $self->meta->get_attribute($name); | 
| 112 |  |  |  |  |  |  |  | 
| 113 | 1530 | 100 |  |  |  | 69419 | if ($attr->has_builder) { | 
| 114 | 1360 |  |  |  |  | 9732 | my $cref = $self->can($name); | 
| 115 |  |  |  |  |  |  |  | 
| 116 | 1360 |  |  |  |  | 27253 | $self->$cref; | 
| 117 |  |  |  |  |  |  | } | 
| 118 |  |  |  |  |  |  | } | 
| 119 |  |  |  |  |  |  |  | 
| 120 | 34 |  |  |  |  | 2124 | return 1; | 
| 121 |  |  |  |  |  |  | } | 
| 122 |  |  |  |  |  |  |  | 
| 123 |  |  |  |  |  |  |  | 
| 124 |  |  |  |  |  |  |  | 
| 125 |  |  |  |  |  |  | sub _new_resource { | 
| 126 | 1360 |  |  | 1360 |  | 2257 | my $self     = shift; | 
| 127 | 1360 |  |  |  |  | 2337 | my $name     = shift; | 
| 128 | 1360 |  | 66 |  |  | 4784 | my $alt_name = shift || lc $name; | 
| 129 |  |  |  |  |  |  |  | 
| 130 | 1360 |  |  |  |  | 4693 | my $resource = v4($name)->new({ | 
| 131 |  |  |  |  |  |  | api        => $self, | 
| 132 |  |  |  |  |  |  | auth_token => $self->auth_token, | 
| 133 |  |  |  |  |  |  | base_url   => $self->base_url, | 
| 134 |  |  |  |  |  |  | resource   => $alt_name, | 
| 135 |  |  |  |  |  |  | debug      => $self->debug, | 
| 136 |  |  |  |  |  |  | }); | 
| 137 |  |  |  |  |  |  |  | 
| 138 | 1360 |  |  |  |  | 108771 | $self->add_resource($resource); | 
| 139 |  |  |  |  |  |  |  | 
| 140 | 1360 |  |  |  |  | 84067 | return $resource; | 
| 141 |  |  |  |  |  |  | } | 
| 142 |  |  |  |  |  |  |  | 
| 143 |  |  |  |  |  |  |  | 
| 144 |  |  |  |  |  |  |  | 
| 145 |  |  |  |  |  |  |  | 
| 146 |  |  |  |  |  |  |  | 
| 147 |  |  |  |  |  |  |  | 
| 148 |  |  |  |  |  |  |  | 
| 149 | 34 |  |  | 34 |  | 481 | sub _build_analytics         { shift->_new_resource('Analytics')                        } | 
| 150 | 34 |  |  | 34 |  | 482 | sub _build_application       { shift->_new_resource('OAuth::Application', 'oauth')      } | 
| 151 | 34 |  |  | 34 |  | 438 | sub _build_audits            { shift->_new_resource('Audits')                           } | 
| 152 | 34 |  |  | 34 |  | 458 | sub _build_bots              { shift->_new_resource('Bots')                             } | 
| 153 | 34 |  |  | 34 |  | 465 | sub _build_brand             { shift->_new_resource('Brand')                            } | 
| 154 | 34 |  |  | 34 |  | 439 | sub _build_cache             { shift->_new_resource('Cache', 'caches')                  } | 
| 155 | 34 |  |  | 34 |  | 431 | sub _build_channel           { shift->_new_resource('Channel', 'channels')              } | 
| 156 | 34 |  |  | 34 |  | 458 | sub _build_channel_member    { shift->_new_resource('Channel::Member', 'channels')      } | 
| 157 | 34 |  |  | 34 |  | 439 | sub _build_channels          { shift->_new_resource('Channels')                         } | 
| 158 | 34 |  |  | 34 |  | 456 | sub _build_cluster           { shift->_new_resource('Cluster')                          } | 
| 159 | 34 |  |  | 34 |  | 440 | sub _build_compliance        { shift->_new_resource('Compliance')                       } | 
| 160 | 34 |  |  | 34 |  | 463 | sub _build_compliance_report { shift->_new_resource('Compliance::Report', 'compliance') } | 
| 161 | 0 |  |  | 0 |  | 0 | sub _build_config            { shift->_new_resource('Config')                           } | 
| 162 | 34 |  |  | 34 |  | 445 | sub _build_data_retention    { shift->_new_resource('DataRetention', 'data_retention')  } | 
| 163 | 34 |  |  | 34 |  | 456 | sub _build_database          { shift->_new_resource('Database')                         } | 
| 164 | 34 |  |  | 34 |  | 440 | sub _build_elasticsearch     { shift->_new_resource('ElasticSearch')                    } | 
| 165 | 34 |  |  | 34 |  | 495 | sub _build_email             { shift->_new_resource('Email')                            } | 
| 166 | 34 |  |  | 34 |  | 439 | sub _build_emoji             { shift->_new_resource('Emoji')                            } | 
| 167 | 34 |  |  | 34 |  | 459 | sub _build_files             { shift->_new_resource('Files')                            } | 
| 168 | 34 |  |  | 34 |  | 452 | sub _build_file              { shift->_new_resource('File', 'files')                    } | 
| 169 | 34 |  |  | 34 |  | 461 | sub _build_job               { shift->_new_resource('Job', 'jobs')                      } | 
| 170 | 34 |  |  | 34 |  | 468 | sub _build_jobs              { shift->_new_resource('Jobs')                             } | 
| 171 | 34 |  |  | 34 |  | 459 | sub _build_ldap              { shift->_new_resource('LDAP')                             } | 
| 172 | 34 |  |  | 34 |  | 435 | sub _build_logs              { shift->_new_resource('Logs')                             } | 
| 173 | 34 |  |  | 34 |  | 443 | sub _build_oauth             { shift->_new_resource('OAuth')                            } | 
| 174 | 34 |  |  | 34 |  | 494 | sub _build_plugin            { shift->_new_resource('Plugin', 'plugins')                } | 
| 175 | 34 |  |  | 34 |  | 806 | sub _build_plugins           { shift->_new_resource('Plugins')                          } | 
| 176 | 34 |  |  | 34 |  | 473 | sub _build_post              { shift->_new_resource('Post', 'posts')                    } | 
| 177 | 34 |  |  | 34 |  | 424 | sub _build_posts             { shift->_new_resource('Posts')                            } | 
| 178 | 34 |  |  | 34 |  | 464 | sub _build_reactions         { shift->_new_resource('Reactions')                        } | 
| 179 | 34 |  |  | 34 |  | 446 | sub _build_roles             { shift->_new_resource('Roles')                            } | 
| 180 | 34 |  |  | 34 |  | 468 | sub _build_s3                { shift->_new_resource('S3', 'file')                       } | 
| 181 | 34 |  |  | 34 |  | 479 | sub _build_saml              { shift->_new_resource('SAML')                             } | 
| 182 | 34 |  |  | 34 |  | 453 | sub _build_schemes           { shift->_new_resource('Schemes')                          } | 
| 183 | 34 |  |  | 34 |  | 446 | sub _build_system            { shift->_new_resource('System')                           } | 
| 184 | 34 |  |  | 34 |  | 423 | sub _build_team              { shift->_new_resource('Team', 'teams')                    } | 
| 185 | 34 |  |  | 34 |  | 450 | sub _build_teams             { shift->_new_resource('Teams')                            } | 
| 186 | 34 |  |  | 34 |  | 444 | sub _build_user              { shift->_new_resource('User', 'users')                    } | 
| 187 | 34 |  |  | 34 |  | 505 | sub _build_users             { shift->_new_resource('Users')                            } | 
| 188 | 34 |  |  | 34 |  | 435 | sub _build_webhooks          { shift->_new_resource('Webhook', 'hooks')                 } | 
| 189 | 34 |  |  | 34 |  | 444 | sub _build_webrtc            { shift->_new_resource('WebRTC')                           } | 
| 190 |  |  |  |  |  |  |  | 
| 191 |  |  |  |  |  |  |  | 
| 192 |  |  |  |  |  |  |  | 
| 193 |  |  |  |  |  |  | 1; | 
| 194 |  |  |  |  |  |  |  | 
| 195 |  |  |  |  |  |  | __END__ | 
| 196 |  |  |  |  |  |  |  | 
| 197 |  |  |  |  |  |  | =pod | 
| 198 |  |  |  |  |  |  |  | 
| 199 |  |  |  |  |  |  | =encoding UTF-8 | 
| 200 |  |  |  |  |  |  |  | 
| 201 |  |  |  |  |  |  | =head1 NAME | 
| 202 |  |  |  |  |  |  |  | 
| 203 |  |  |  |  |  |  | WebService::Mattermost::V4::API - Mattermost API v4 wrapper. | 
| 204 |  |  |  |  |  |  |  | 
| 205 |  |  |  |  |  |  | =head1 VERSION | 
| 206 |  |  |  |  |  |  |  | 
| 207 |  |  |  |  |  |  | version 0.26 | 
| 208 |  |  |  |  |  |  |  | 
| 209 |  |  |  |  |  |  | =head1 DESCRIPTION | 
| 210 |  |  |  |  |  |  |  | 
| 211 |  |  |  |  |  |  | Container for API resources. | 
| 212 |  |  |  |  |  |  |  | 
| 213 |  |  |  |  |  |  | =head2 ATTRIBUTES | 
| 214 |  |  |  |  |  |  |  | 
| 215 |  |  |  |  |  |  | =over 4 | 
| 216 |  |  |  |  |  |  |  | 
| 217 |  |  |  |  |  |  | =item * C<analytics> | 
| 218 |  |  |  |  |  |  |  | 
| 219 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Analytics> | 
| 220 |  |  |  |  |  |  |  | 
| 221 |  |  |  |  |  |  | =item * C<application> | 
| 222 |  |  |  |  |  |  |  | 
| 223 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::OAuth::Application> | 
| 224 |  |  |  |  |  |  |  | 
| 225 |  |  |  |  |  |  | =item * C<audits> | 
| 226 |  |  |  |  |  |  |  | 
| 227 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Audits> | 
| 228 |  |  |  |  |  |  |  | 
| 229 |  |  |  |  |  |  | =item * C<brand> | 
| 230 |  |  |  |  |  |  |  | 
| 231 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Brand>. | 
| 232 |  |  |  |  |  |  |  | 
| 233 |  |  |  |  |  |  | =item * C<bots> | 
| 234 |  |  |  |  |  |  |  | 
| 235 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Bots>. | 
| 236 |  |  |  |  |  |  |  | 
| 237 |  |  |  |  |  |  | =item * C<channels> | 
| 238 |  |  |  |  |  |  |  | 
| 239 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Channels>. | 
| 240 |  |  |  |  |  |  |  | 
| 241 |  |  |  |  |  |  | =item * C<channel> | 
| 242 |  |  |  |  |  |  |  | 
| 243 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Channel>. | 
| 244 |  |  |  |  |  |  |  | 
| 245 |  |  |  |  |  |  | =item * C<channel_member> | 
| 246 |  |  |  |  |  |  |  | 
| 247 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Channel::Member>. | 
| 248 |  |  |  |  |  |  |  | 
| 249 |  |  |  |  |  |  | =item * C<cluster> | 
| 250 |  |  |  |  |  |  |  | 
| 251 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Cluster>. | 
| 252 |  |  |  |  |  |  |  | 
| 253 |  |  |  |  |  |  | =item * C<config> | 
| 254 |  |  |  |  |  |  |  | 
| 255 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Config>. | 
| 256 |  |  |  |  |  |  |  | 
| 257 |  |  |  |  |  |  | =item * C<compliance> | 
| 258 |  |  |  |  |  |  |  | 
| 259 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Compliance>. | 
| 260 |  |  |  |  |  |  |  | 
| 261 |  |  |  |  |  |  | =item * C<compliance_report> | 
| 262 |  |  |  |  |  |  |  | 
| 263 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Compliance::Report>. | 
| 264 |  |  |  |  |  |  |  | 
| 265 |  |  |  |  |  |  | =item * C<data_retention> | 
| 266 |  |  |  |  |  |  |  | 
| 267 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::DataRetention>. | 
| 268 |  |  |  |  |  |  |  | 
| 269 |  |  |  |  |  |  | =item * C<database> | 
| 270 |  |  |  |  |  |  |  | 
| 271 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Database>. | 
| 272 |  |  |  |  |  |  |  | 
| 273 |  |  |  |  |  |  | =item * C<elasticsearch> | 
| 274 |  |  |  |  |  |  |  | 
| 275 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::ElasticSearch>. | 
| 276 |  |  |  |  |  |  |  | 
| 277 |  |  |  |  |  |  | =item * C<email> | 
| 278 |  |  |  |  |  |  |  | 
| 279 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Email>. | 
| 280 |  |  |  |  |  |  |  | 
| 281 |  |  |  |  |  |  | =item * C<emoji> | 
| 282 |  |  |  |  |  |  |  | 
| 283 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Emoji>. | 
| 284 |  |  |  |  |  |  |  | 
| 285 |  |  |  |  |  |  | =item * C<file> | 
| 286 |  |  |  |  |  |  |  | 
| 287 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::File>. | 
| 288 |  |  |  |  |  |  |  | 
| 289 |  |  |  |  |  |  | =item * C<files> | 
| 290 |  |  |  |  |  |  |  | 
| 291 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Files>. | 
| 292 |  |  |  |  |  |  |  | 
| 293 |  |  |  |  |  |  | =item * C<job> | 
| 294 |  |  |  |  |  |  |  | 
| 295 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Job>. | 
| 296 |  |  |  |  |  |  |  | 
| 297 |  |  |  |  |  |  | =item * C<jobs> | 
| 298 |  |  |  |  |  |  |  | 
| 299 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Jobs>. | 
| 300 |  |  |  |  |  |  |  | 
| 301 |  |  |  |  |  |  | =item * C<ldap> | 
| 302 |  |  |  |  |  |  |  | 
| 303 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::LDAP>. | 
| 304 |  |  |  |  |  |  |  | 
| 305 |  |  |  |  |  |  | =item * C<logs> | 
| 306 |  |  |  |  |  |  |  | 
| 307 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Logs>. | 
| 308 |  |  |  |  |  |  |  | 
| 309 |  |  |  |  |  |  | =item * C<oauth> | 
| 310 |  |  |  |  |  |  |  | 
| 311 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::OAuth>. | 
| 312 |  |  |  |  |  |  |  | 
| 313 |  |  |  |  |  |  | =item * C<plugin> | 
| 314 |  |  |  |  |  |  |  | 
| 315 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Plugin>. | 
| 316 |  |  |  |  |  |  |  | 
| 317 |  |  |  |  |  |  | =item * C<plugins> | 
| 318 |  |  |  |  |  |  |  | 
| 319 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Plugins>. | 
| 320 |  |  |  |  |  |  |  | 
| 321 |  |  |  |  |  |  | =item * C<post> | 
| 322 |  |  |  |  |  |  |  | 
| 323 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Post>. | 
| 324 |  |  |  |  |  |  |  | 
| 325 |  |  |  |  |  |  | =item * C<posts> | 
| 326 |  |  |  |  |  |  |  | 
| 327 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Posts>. | 
| 328 |  |  |  |  |  |  |  | 
| 329 |  |  |  |  |  |  | =item * C<reactions> | 
| 330 |  |  |  |  |  |  |  | 
| 331 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Reactions>. | 
| 332 |  |  |  |  |  |  |  | 
| 333 |  |  |  |  |  |  | =item * C<roles> | 
| 334 |  |  |  |  |  |  |  | 
| 335 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Roles>. | 
| 336 |  |  |  |  |  |  |  | 
| 337 |  |  |  |  |  |  | =item * C<s3> | 
| 338 |  |  |  |  |  |  |  | 
| 339 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::S3>. | 
| 340 |  |  |  |  |  |  |  | 
| 341 |  |  |  |  |  |  | =item * C<saml> | 
| 342 |  |  |  |  |  |  |  | 
| 343 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::SAML>. | 
| 344 |  |  |  |  |  |  |  | 
| 345 |  |  |  |  |  |  | =item * C<schemes> | 
| 346 |  |  |  |  |  |  |  | 
| 347 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Schemes>. | 
| 348 |  |  |  |  |  |  |  | 
| 349 |  |  |  |  |  |  | =item * C<system> | 
| 350 |  |  |  |  |  |  |  | 
| 351 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::System>. | 
| 352 |  |  |  |  |  |  |  | 
| 353 |  |  |  |  |  |  | =item * C<team> | 
| 354 |  |  |  |  |  |  |  | 
| 355 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Team>. | 
| 356 |  |  |  |  |  |  |  | 
| 357 |  |  |  |  |  |  | =item * C<teams> | 
| 358 |  |  |  |  |  |  |  | 
| 359 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Teams>. | 
| 360 |  |  |  |  |  |  |  | 
| 361 |  |  |  |  |  |  | =item * C<user> | 
| 362 |  |  |  |  |  |  |  | 
| 363 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::User>. | 
| 364 |  |  |  |  |  |  |  | 
| 365 |  |  |  |  |  |  | =item * C<users> | 
| 366 |  |  |  |  |  |  |  | 
| 367 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Users>. | 
| 368 |  |  |  |  |  |  |  | 
| 369 |  |  |  |  |  |  | =item * C<webhooks> | 
| 370 |  |  |  |  |  |  |  | 
| 371 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::Webhook>. | 
| 372 |  |  |  |  |  |  |  | 
| 373 |  |  |  |  |  |  | =item * C<webrtc> | 
| 374 |  |  |  |  |  |  |  | 
| 375 |  |  |  |  |  |  | See L<WebService::Mattermost::V4::API::Resource::WebRTC>. | 
| 376 |  |  |  |  |  |  |  | 
| 377 |  |  |  |  |  |  | =back | 
| 378 |  |  |  |  |  |  |  | 
| 379 |  |  |  |  |  |  | =head1 AUTHOR | 
| 380 |  |  |  |  |  |  |  | 
| 381 |  |  |  |  |  |  | Mike Jones <mike@netsplit.org.uk> | 
| 382 |  |  |  |  |  |  |  | 
| 383 |  |  |  |  |  |  | =head1 COPYRIGHT AND LICENSE | 
| 384 |  |  |  |  |  |  |  | 
| 385 |  |  |  |  |  |  | This software is Copyright (c) 2020 by Mike Jones. | 
| 386 |  |  |  |  |  |  |  | 
| 387 |  |  |  |  |  |  | This is free software, licensed under: | 
| 388 |  |  |  |  |  |  |  | 
| 389 |  |  |  |  |  |  | The MIT (X11) License | 
| 390 |  |  |  |  |  |  |  | 
| 391 |  |  |  |  |  |  | =cut | 
| 392 |  |  |  |  |  |  |  |