2
2
3
3
namespace Tigerra ;
4
4
5
- class Converter extends BaseApiClient
5
+ class Converter extends BaseConverterApiClient
6
6
{
7
- public function convert ($ conversionType , $ filePath )
7
+ private const AUDIO_CONVERT_TYPES = 'aac-to-aiff, aac-to-flac, aac-to-mp3, aac-to-wav, aiff-to-aac, aiff-to-flac, aiff-to-mp3, aiff-to-wav, flac-to-aac, flac-to-aiff, flac-to-mp3, flac-to-wav, mp3-to-aac, mp3-to-aiff, mp3-to-flac, mp3-to-wav, wav-to-aac, wav-to-aiff, wav-to-flac, wav-to-mp3 ' ;
8
+ private const VIDEO_CONVERT_TYPES = 'mp4-to-webm, avi-to-webm, flv-to-webm, mkv-to-webm, mpeg-to-webm, wmv-to-webm, webm-to-mp4, avi-to-mp4, flv-to-mp4, mkv-to-mp4, mpeg-to-mp4, wmv-to-mp4, webm-to-avi, mp4-to-avi, flv-to-avi, mkv-to-avi, mpeg-to-avi, wmv-to-avi, webm-to-mpeg, avi-to-mpeg, mkv-to-mpeg, flv-to-mpeg, webm-to-flv, avi-to-flv, mkv-to-flv, mpeg-to-flv, wmv-to-flv ' ;
9
+ private const IMAGE_CONVERT_TYPES = 'heic-to-jpg, pdf-to-jpg, psd-to-jpg, eps-to-jpg, webp-to-jpg, tiff-to-jpg, heic-to-png, psd-to-png, eps-to-png, webp-to-png, svg-to-png, tiff-to-png, jpg-to-png, jpg-to-webp, jpg-to-tiff, jpg-to-gif, png-to-gif, png-to-jpg, png-to-webp, png-to-svg, png-to-tiff, png-to-eps ' ;
10
+ private const DOCUMENT_CONVERT_TYPES = 'word-to-pdf, ppt-to-pdf, excel-to-pdf, odt-to-pdf, ods-to-pdf, odp-to-pdf, html-to-pdf, rtf-to-pdf, csv-to-pdf, pdf-to-html, pdf-to-odg, pdf-to-otg, pdf-to-fodg, pdf-to-docx, pdf-to-txt, html-to-odt, pdf-to-xlsx, txt-to-rtf, text-to-html, txt-to-docx, txt-to-doc, txt-to-odt, txt-to-xml, json-to-xml, xml-to-json, csv-to-json, rtf-to-txt, rtf-to-docx, rtf-to-html, rtf-to-doc, rtf-to-odt, rtf-to-ott ' ;
11
+ private const FONT_CONVERT_TYPES = 'ttf-to-otf, ttf-to-eot, ttf-to-woff, ttf-to-woff2, woff-to-otf, woff-to-eot, woff-to-ttf, woff-to-woff2, woff2-to-otf, woff2-to-eot, woff2-to-ttf, woff2-to-woff, eot-to-otf, eot-to-ttf, eot-to-woff, eot-to-woff2, otf-to-ttf, otf-to-eot, otf-to-woff, otf-to-woff2 ' ;
12
+ private const AUDIO_EFFECTS = 'downmix-track, noice-reduce-track, audio-3d, volume, bass-booster, equalizer, reverse-audio, tempo, stereo-panner, auto-panner, vocal-remover, pitch-shifter, reverb, mono-to-stereo, stereo-to-mono, drunken-loudspeaker, low-frequency-noise ' ;
13
+
14
+ public function audio ($ conversionType , $ filePath )
15
+ {
16
+ if (!in_array ($ conversionType , explode (', ' , self ::AUDIO_CONVERT_TYPES ))) {
17
+ throw new \Exception ("Invalid conversion type: {$ conversionType }" );
18
+ }
19
+
20
+ $ endpoint = "/do-convert/ {$ conversionType }" ;
21
+ return $ this ->sendRequest ('POST ' , $ endpoint , [], $ filePath );
22
+ }
23
+
24
+ public function video ($ conversionType , $ filePath )
25
+ {
26
+ if (!in_array ($ conversionType , explode (', ' , self ::VIDEO_CONVERT_TYPES ))) {
27
+ throw new \Exception ("Invalid conversion type: {$ conversionType }" );
28
+ }
29
+
30
+ $ endpoint = "/video/ {$ conversionType }" ;
31
+ return $ this ->sendRequest ('POST ' , $ endpoint , [], $ filePath );
32
+ }
33
+
34
+ public function image ($ conversionType , $ filePath )
8
35
{
36
+ if (!in_array ($ conversionType , explode (', ' , self ::IMAGE_CONVERT_TYPES ))) {
37
+ throw new \Exception ("Invalid conversion type: {$ conversionType }" );
38
+ }
39
+
9
40
$ endpoint = "/do-convert/ {$ conversionType }" ;
10
41
return $ this ->sendRequest ('POST ' , $ endpoint , [], $ filePath );
11
42
}
43
+
44
+ public function document ($ conversionType , $ filePath )
45
+ {
46
+ if (!in_array ($ conversionType , explode (', ' , self ::DOCUMENT_CONVERT_TYPES ))) {
47
+ throw new \Exception ("Invalid conversion type: {$ conversionType }" );
48
+ }
49
+
50
+ $ endpoint = "/documents/ {$ conversionType }" ;
51
+ return $ this ->sendRequest ('POST ' , $ endpoint , [], $ filePath );
52
+ }
53
+
54
+ public function font ($ conversionType , $ filePath )
55
+ {
56
+ if (!in_array ($ conversionType , explode (', ' , self ::FONT_CONVERT_TYPES ))) {
57
+ throw new \Exception ("Invalid conversion type: {$ conversionType }" );
58
+ }
59
+
60
+ $ endpoint = "/fonts/ {$ conversionType }" ;
61
+ return $ this ->sendRequest ('POST ' , $ endpoint , [], $ filePath );
62
+ }
63
+
64
+ public function pdf_compress ($ filePath )
65
+ {
66
+ $ endpoint = "/documents/pdf-compress " ;
67
+ return $ this ->sendRequest ('POST ' , $ endpoint , [], $ filePath );
68
+ }
69
+
70
+ public function audio_effect ($ effectType , $ filePath , $ params = [])
71
+ {
72
+ if (!in_array ($ effectType , explode (', ' , self ::AUDIO_EFFECTS ))) {
73
+ throw new \Exception ("Invalid audio effect type: {$ effectType }" );
74
+ }
75
+
76
+ $ endpoint = "/ {$ effectType }" ;
77
+ return $ this ->sendRequest ('POST ' , $ endpoint , $ params , $ filePath );
78
+ }
12
79
}
0 commit comments