File Coverage

blib/lib/WebService/Mattermost/V4/API/Resource/File.pm
Criterion Covered Total %
statement 3 18 16.6
branch n/a
condition n/a
subroutine 1 6 16.6
pod 5 5 100.0
total 9 29 31.0


line stmt bran cond sub pod time code
1             package WebService::Mattermost::V4::API::Resource::File;
2:

3: # ABSTRACT: Wrapped API methods for the file API endpoints. 4:
5: use Moo;
6:
7: extends 'WebService::Mattermost::V4::API::Resource';
8:
9: ################################################################################
10:
11: sub get {
12: my $self = shift;
13: my $file_id = shift;
14:
15: return $self->_get({
16: endpoint => '%s',
17: ids => [ $file_id ],
18: view => 'Binary',
19: });
20: }
21:
22: sub get_thumbnail {
23: my $self = shift;
24: my $file_id = shift;
25:
26: return $self->_get({
27: endpoint => '%s/thumbnail',
28: ids => [ $file_id ],
29: });
30: }
31:
32: sub get_preview {
33: my $self = shift;
34: my $file_id = shift;
35:
36: return $self->_get({
37: endpoint => '%s/preview',
38: ids => [ $file_id ],
39: });
40: }
41:
42: sub get_link {
43: my $self = shift;
44: my $file_id = shift;
45:
46: return $self->_get({
47: endpoint => '%s/link',
48: ids => [ $file_id ],
49: });
50: }
51:
52: sub get_metadata {
53: my $self = shift;
54: my $file_id = shift;
55:
56: return $self->_get({
57: endpoint => '%s/info',
58: ids => [ $file_id ],
59: });
60: }
61:
62: ################################################################################
63:
64: 1;
65:
66: __END__
67:
68: =pod
69:
70: =encoding UTF-8
71:
72: =head1 NAME
73:
74: WebService::Mattermost::V4::API::Resource::File - Wrapped API methods for the file API endpoints.
75:
76: =head1 VERSION
77:
78: version 0.30
79:
80: =head1 DESCRIPTION
81:
82: =head2 USAGE
83:
84: use WebService::Mattermost;
85:
86: my $mm = WebService::Mattermost->new({
87: authenticate => 1,
88: username => 'me@somewhere.com',
89: password => 'hunter2',
90: base_url => 'https://my.mattermost.server.com/api/v4/',
91: });
92:
93: my $resource = $mm->api->file;
94:
95: =head2 METHODS
96:
97: =over 4
98:
99: =item C<get()>
100:
101: Get basic information about a file.
102:
103: $resource->get('FILE_ID_HERE');
104:
105: =item C<get_thumbnail()>
106:
107: Get a file's thumbnail
108:
109: $resource->get_thumbnail('FILE_ID_HERE');
110:
111: =item C<get_preview()>
112:
113: Get a file's preview.
114:
115: $resource->get_preview('FILE_ID_HERE');
116:
117: =item C<get_link()>
118:
119: Get a public link to a file.
120:
121: $resource->get_link('FILE_ID_HERE');
122:
123: =item C<get_metadata()>
124:
125: Get information about a file.
126:
127: $resource->get_metadata('FILE_ID_HERE');
128:
129: =back
130:
131: =head1 SEE ALSO
132:
133: =over 4
134:
135: =item L<Official Files documentation|https://api.mattermost.com/#tag/files>
136:
137: =back
138:
139: =head1 AUTHOR
140:
141: Mike Jones <mike@netsplit.org.uk>
142:
143: =head1 COPYRIGHT AND LICENSE
144:
145: This software is Copyright (c) 2023 by Mike Jones.
146:
147: This is free software, licensed under:
148:
149: The MIT (X11) License
150:
151: =cut
152: