123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
-
- using System;
- using System.Linq;
- using System.Globalization;
- using System.Text;
- using System.Threading;
- using System.Threading.Tasks;
- using FastReport.Auth;
- using FastReport.Cloud.FastReport.Models;
- using System.Net;
- namespace FastReport.Cloud.FastReport
- {
- internal abstract class FRCloudFilesProviderBase : HttpMessages
- {
- private readonly string API_BASEPATH;
- public FRCloudFilesProviderBase(AuthService authService, string API_BASEPATH)
- : base(authService)
- {
- this.API_BASEPATH = API_BASEPATH;
- }
- protected string CreateFileURL(string folderId)
- {
- var urlBuilder_ = new StringBuilder();
- urlBuilder_.Append(API_BASEPATH).Append("/Folder/{id}/File");
- urlBuilder_.Replace("{id}", folderId);
- var url_ = urlBuilder_.ToString();
- return url_;
- }
- protected string CreateFolderURL(string folderId)
- {
- var urlBuilder_ = new StringBuilder();
- urlBuilder_.Append(API_BASEPATH).Append("/Folder/{id}/Folder");
- urlBuilder_.Replace("{id}", folderId);
- var url_ = urlBuilder_.ToString();
- return url_;
- }
- protected string RenameURL(FileVM folderOrFile)
- {
- string id = folderOrFile.Id;
- string url;
- if (folderOrFile.Type == FileType.File)
- url = RenameFileURL(id);
- else
- url = RenameFolderURL(id);
- return url;
- }
- protected string DeleteURL(FileVM folderOrFile)
- {
- string id = folderOrFile.Id;
- string url;
- if (folderOrFile.Type == FileType.File)
- url = DeleteFileURL(id);
- else
- url = DeleteFolderURL(id);
- return url;
- }
- protected string GetFoldersAndFilesURL(string folderId, SearchOptions options)
- {
- if (folderId == null)
- throw new ArgumentNullException(nameof(folderId));
- if (options == null)
- options = SearchOptions.Default;
- var urlBuilder_ = new StringBuilder(64);
- urlBuilder_.Append(API_BASEPATH).Append("/Folder/{id}/ListFolderAndFiles?");
- urlBuilder_.Replace("{id}", Uri.EscapeDataString(folderId));
- if (options.Skip != null)
- {
- urlBuilder_.Append("skip=").Append(options.Skip.Value).Append('&');
- }
- if (options.Take != null)
- {
- urlBuilder_.Append("take=").Append(options.Take.Value).Append('&');
- }
- if (options.OrderBy != null)
- {
- urlBuilder_.Append("orderBy=").Append(options.OrderBy.ToString()).Append('&');
- }
- if (options.Desc != null)
- {
- urlBuilder_.Append("desc=").Append(options.Desc.Value).Append('&');
- }
- if (!string.IsNullOrEmpty(options.SearchPattern))
- {
- urlBuilder_.Append("searchPattern=").Append(Uri.EscapeDataString(options.SearchPattern)).Append('&');
- }
- //if (useRegex != null)
- //{
- // urlBuilder_.Append("useRegex=").Append(Uri.EscapeDataString(useRegex)).Append('&');
- //}
- urlBuilder_.Length--;
- return urlBuilder_.ToString();
- }
- protected string GetFileURL(string id)
- {
- var urlBuilder_ = new StringBuilder();
- urlBuilder_.Append(API_BASEPATH).Append($"/File/").Append(id);
- var url_ = urlBuilder_.ToString();
- return url_;
- }
- private string RenameFileURL(string id)
- {
- var urlBuilder_ = new StringBuilder();
- urlBuilder_.Append(API_BASEPATH).Append("/File/{id}/Rename");
- urlBuilder_.Replace("{id}", id);
- var url_ = urlBuilder_.ToString();
- return url_;
- }
- private string RenameFolderURL(string id)
- {
- var urlBuilder_ = new StringBuilder();
- urlBuilder_.Append(API_BASEPATH).Append("/Folder/{id}/Rename");
- urlBuilder_.Replace("{id}", id);
- var url_ = urlBuilder_.ToString();
- return url_;
- }
- private string DeleteFileURL(string id)
- {
- var urlBuilder_ = new StringBuilder();
- urlBuilder_.Append(API_BASEPATH).Append("/File/")
- .Append(id);
- var url_ = urlBuilder_.ToString();
- return url_;
- }
- private string DeleteFolderURL(string id)
- {
- var urlBuilder_ = new StringBuilder();
- urlBuilder_.Append(API_BASEPATH).Append("/Folder/")
- .Append(id);
- var url_ = urlBuilder_.ToString();
- return url_;
- }
- }
- }
|