diff --git a/src/WindreamHub.Legacy.Client/Routes/DocumentsRouteService.cs b/src/WindreamHub.Legacy.Client/Routes/DocumentsRouteService.cs index cb8b486..ab06f92 100644 --- a/src/WindreamHub.Legacy.Client/Routes/DocumentsRouteService.cs +++ b/src/WindreamHub.Legacy.Client/Routes/DocumentsRouteService.cs @@ -21,15 +21,17 @@ namespace WindreamHub.Legacy.Client.Routes { } - public async Task> CreateAsync(HttpContent docCreateBody) - => await FetchAsync(route: "/Create", method: HttpMethod.Post, body: docCreateBody) - .ThenAsync(res => res.Simplify()); - - public async Task> CreateAsync(DocBody docCreateBody) + //Create + public async Task> CreateAsync(DocBody docCreateBody) => await FetchAsync(route: "/Create", method: HttpMethod.Post, body: docCreateBody.Stringify()) - .ThenAsync(res => res.Simplify()); + .ThenAsync(res => res.Simplify()); - public async Task> UploadAsync(string path, long? item_id = null, string item_location = null, string item_name = null, object stream_identity = null, params Flag[] flags) + public Task> CreateDynamicAsync(DocBody docCreateBody) => CreateAsync(docCreateBody); + + public Task> CreateAsync(DocBody docCreateBody) => CreateAsync(docCreateBody); + + //Upload + public async Task> UploadAsync(string path, long? item_id = null, string item_location = null, string item_name = null, object stream_identity = null, params Flag[] flags) { using (var fileStream = File.OpenRead(path)) { @@ -54,19 +56,31 @@ namespace WindreamHub.Legacy.Client.Routes query["parameter.flags"] = string.Join(",", flags.Select(flag => (int)flag)); if (stream_identity != null) - query["parameter.stream.__identity"] = stream_identity.ToString(); - - + query["parameter.stream.__identity"] = stream_identity.ToString(); - return await FetchAsync(route: $"/Upload?{query}", method: HttpMethod.Post, body: fileContent).ThenAsync(res => res.Simplify()); + return await FetchAsync(route: $"/Upload?{query}", method: HttpMethod.Post, body: fileContent).ThenAsync(res => res.Simplify()); } } - public async Task> UpdateAsync(DocBody docUpdateBody) - => await FetchAsync(route: "/Update", method: HttpMethod.Post, body: docUpdateBody.Stringify()) - .ThenAsync(res => res.Simplify()); + public Task> UploadDynamicAsync(string path, long? item_id = null, string item_location = null, string item_name = null, object stream_identity = null, params Flag[] flags) + => UploadAsync(path: path, item_id: item_id, item_location: item_location, item_name: item_name, stream_identity: stream_identity, flags: flags); - public async Task> DownloadAsync(long? item_id = null, string item_location = null, string item_name = null, object stream_identity = null, params Flag[] flags) + public Task> UploadAsync(string path, long? item_id = null, string item_location = null, string item_name = null, object stream_identity = null, params Flag[] flags) + => UploadAsync(path: path, item_id: item_id, item_location: item_location, item_name: item_name, stream_identity: stream_identity, flags: flags); + + //Update + public async Task> UpdateAsync(DocBody docUpdateBody) + => await FetchAsync(route: "/Update", method: HttpMethod.Post, body: docUpdateBody.Stringify()) + .ThenAsync(res => res.Simplify()); + + public Task> UpdateDynamicAsync(DocBody docUpdateBody) + => UpdateAsync(docUpdateBody); + + public Task> UpdateAsync(DocBody docUpdateBody) + => UpdateAsync(docUpdateBody); + + //Download + public async Task> DownloadAsync(long? item_id = null, string item_location = null, string item_name = null, object stream_identity = null, params Flag[] flags) { var query = HttpUtility.ParseQueryString(string.Empty); @@ -85,11 +99,24 @@ namespace WindreamHub.Legacy.Client.Routes if (stream_identity != null) query["parameter.stream.__identity"] = stream_identity.ToString(); - return await FetchAsync(route: $"/Download?{query}", method: HttpMethod.Get).ThenAsync(res => res.Simplify()); + return await FetchAsync(route: $"/Download?{query}", method: HttpMethod.Get).ThenAsync(res => res.Simplify()); } - public async Task> DeleteAsync(DocDeleteBody docDeleteBody) + public Task> DownloadDynamicAsync(long? item_id = null, string item_location = null, string item_name = null, object stream_identity = null, params Flag[] flags) + => DownloadAsync(item_id: item_id, item_location: item_location, item_name: item_name, stream_identity: stream_identity, flags: flags); + + public Task> DownloadAsync(long? item_id = null, string item_location = null, string item_name = null, object stream_identity = null, params Flag[] flags) + => DownloadAsync(item_id: item_id, item_location: item_location, item_name: item_name, stream_identity: stream_identity, flags: flags); + + //Delete + public async Task> DeleteAsync(DocDeleteBody docDeleteBody) => await FetchAsync(route: "/Delete", HttpMethod.Post, body: docDeleteBody.Stringify()) - .ThenAsync(res => res.Simplify()); + .ThenAsync(res => res.Simplify()); + + public async Task> DeleteDynamicAsync(DocDeleteBody docDeleteBody) + => await DeleteAsync(docDeleteBody: docDeleteBody); + + public async Task> DeleteAsync(DocDeleteBody docDeleteBody) + => await DeleteAsync(docDeleteBody: docDeleteBody); } } \ No newline at end of file