public static async Task <SanityDocumentResponse <SanityFileAsset> > UploadFileAsync(this SanityClient client, Uri fileUrl, string label = null) { if (fileUrl == null) { throw new ArgumentNullException(nameof(fileUrl)); } var mimeType = "application/octet-stream"; var fileName = fileUrl.PathAndQuery.Split('?')[0].Split('#')[0].Split('/').Last(); var extension = fileName.Split('.').Last(); if (extension != fileName) { mimeType = MimeTypeMap.GetMimeType(extension); } using (var fs = await _httpClient.GetStreamAsync(fileUrl).ConfigureAwait(false)) { var result = await client.UploadFileAsync(fs, fileName, mimeType, label ?? "Source:" + fileUrl.OriginalString).ConfigureAwait(false); fs.Close(); return(result); } }
public static SanityMutationBuilder <TDoc> BeginTransaction <TDoc>(this SanityClient client) { return(new SanityMutationBuilder(client).For <TDoc>()); }
public static SanityMutationBuilder BeginTransaction(this SanityClient client) { return(new SanityMutationBuilder(client)); }
public static Task <SanityMutationResponse> DeleteAsync(this SanityClient client, string id, CancellationToken cancellationToken = default) { return(client.BeginTransaction().DeleteById(id).CommitAsync(false, false, SanityMutationVisibility.Sync, cancellationToken)); }
public static Task <SanityMutationResponse <TDoc> > SetAsync <TDoc>(this SanityClient client, TDoc document, CancellationToken cancellationToken = default) { return(client.BeginTransaction <TDoc>().SetValues(document).CommitAsync(false, true, SanityMutationVisibility.Sync, cancellationToken)); }
public static async Task <SanityDocumentResponse <SanityImageAsset> > UploadImageAsync(this SanityClient client, Uri imageUrl, string label = null, CancellationToken cancellationToken = default) { if (imageUrl == null) { throw new ArgumentNullException(nameof(imageUrl)); } //Default to JPG var mimeType = MimeTypeMap.GetMimeType(".jpg"); var fileName = imageUrl.PathAndQuery.Split('?')[0].Split('#')[0].Split('/').Last(); var extension = fileName.Split('.').Last(); if (extension != fileName) { mimeType = MimeTypeMap.GetMimeType(extension); } using (var fs = await _httpClient.GetStreamAsync(imageUrl).ConfigureAwait(false)) { var result = await client.UploadImageAsync(fs, fileName, mimeType, label ?? "Source:" + imageUrl.OriginalString, cancellationToken).ConfigureAwait(false); fs.Close(); return(result); } }