@@ -164,14 +164,11 @@ class _StreamwishRawApi {
164164 int ? pageNumber,
165165 DateTime ? time,
166166 }) async {
167- final formatTime =
168- time != null ? Jiffy .parseFromDateTime (time).toYYYYMMDDHMS : null ;
169-
170167 final fetch = await _client.getUri (
171- _apiUri ('file/edit ' , {
168+ _apiUri ('file/list ' , {
172169 'fld_id' : folderId,
173170 'title' : title,
174- 'created' : formatTime ,
171+ 'created' : time ? .toJiffy.toYYYYMMDDHMS ,
175172 'public' : isPublic.toStringFlagOrNull,
176173 'adult' : isAdult.toStringFlagOrNull,
177174 'per_page' : resultPerPage,
@@ -181,4 +178,165 @@ class _StreamwishRawApi {
181178
182179 return fetch;
183180 }
181+
182+ Future <String ?> fileDirectLink (
183+ String fileCode, {
184+ StreamwishQuality ? quality,
185+ bool ? hls,
186+ }) async {
187+ final fetch = await _client.getUri (
188+ _apiUri ('file/direct_link' , {
189+ 'file_code' : fileCode,
190+ 'q' : quality? .value,
191+ 'hls' : hls.toStringFlagOrNull,
192+ }),
193+ );
194+
195+ return fetch;
196+ }
197+
198+ Future <String ?> fileClone (
199+ String fileCode, {
200+ String ? newFileTitle,
201+ int ? destinationFolderId,
202+ }) async {
203+ final fetch = await _client.getUri (
204+ _apiUri ('file/clone' , {
205+ 'file_code' : fileCode,
206+ 'file_title' : newFileTitle,
207+ 'fld_id' : destinationFolderId,
208+ }),
209+ );
210+
211+ return fetch;
212+ }
213+
214+ Future <String ?> fileDelete (
215+ String fileCode,
216+ ) async {
217+ final fetch = await _client.getUri (
218+ _apiUri ('file/delete' , {
219+ 'file_code' : fileCode,
220+ }),
221+ );
222+
223+ return fetch;
224+ }
225+
226+ Future <String ?> fileDeletedList ({
227+ int ? deletedInLastNumberOfHours,
228+ }) async {
229+ final fetch = await _client.getUri (
230+ _apiUri ('file/deleted' , {
231+ 'last' : deletedInLastNumberOfHours,
232+ }),
233+ );
234+
235+ return fetch;
236+ }
237+
238+ Future <String ?> fileDmcaList ({
239+ int ? reportedInLastNumberOfHours,
240+ }) async {
241+ final fetch = await _client.getUri (
242+ _apiUri ('file/dmca' , {
243+ 'last' : reportedInLastNumberOfHours,
244+ }),
245+ );
246+
247+ return fetch;
248+ }
249+
250+ /// Filter by [fileCode] if provided
251+ Future <String ?> fileEncodings (
252+ String fileCode,
253+ ) async {
254+ final fetch = await _client.getUri (
255+ _apiUri ('file/encodings' , {
256+ 'file_code' : fileCode,
257+ }),
258+ );
259+ return fetch;
260+ }
261+
262+ Future <String ?> fileRemoteUploadStatus ({
263+ String ? fileCode,
264+ }) async {
265+ final fetch = await _client.getUri (
266+ _apiUri ('file/url_uploads' , {
267+ 'file_code' : fileCode,
268+ }),
269+ );
270+ return fetch;
271+ }
272+
273+ Future <String ?> fileRemoteUploadAction ({
274+ bool ? restartErrors,
275+ bool ? deleteErrors,
276+ bool ? deleteAll,
277+ String ? toBeDeletedRemoteUploadFileCode,
278+ }) async {
279+ final restartError = restartErrors.toStringFlag;
280+ final clearErrors = deleteErrors.toStringFlag;
281+ final clearAll = deleteAll.toStringFlag;
282+
283+ final fetch = await _client.getUri (
284+ _apiUri ('urlupload/actions' , {
285+ 'restart_errors' : restartError,
286+ 'clear_errors' : clearErrors,
287+ 'clear_all' : clearAll,
288+ 'delete_code' : toBeDeletedRemoteUploadFileCode,
289+ }),
290+ );
291+ return fetch;
292+ }
293+
294+ Future <String ?> folderList ({
295+ int ? folderId,
296+ int ? showNuberOfFiles,
297+ }) async {
298+ final fetch = await _client.getUri (
299+ _apiUri ('folder/list' , {
300+ 'fld_id' : folderId,
301+ 'files' : showNuberOfFiles,
302+ }),
303+ );
304+
305+ return fetch;
306+ }
307+
308+ Future <String ?> folderCreate (
309+ String folderName, {
310+ int ? parentFolderId,
311+ String ? folderDescription,
312+ }) async {
313+ final fetch = await _client.getUri (
314+ _apiUri ('folder/create' , {
315+ 'name' : folderName,
316+ 'parent_id' : parentFolderId,
317+ 'descr' : folderDescription,
318+ }),
319+ );
320+
321+ return fetch;
322+ }
323+
324+ ///Update folder details, skipped fields won't be updated
325+ Future <String ?> folderEdit (
326+ int folderId, {
327+ int ? parentFolderId,
328+ String ? folderName,
329+ String ? folderDescription,
330+ }) async {
331+ final fetch = await _client.getUri (
332+ _apiUri ('folder/edit' , {
333+ 'fld_id' : folderId,
334+ 'parent_id' : parentFolderId,
335+ 'name' : folderName,
336+ 'descr' : folderDescription,
337+ }),
338+ );
339+
340+ return fetch;
341+ }
184342}
0 commit comments