Skip to content

Commit dc57899

Browse files
authored
Merge pull request #16 from alustrement-bob/fix-createsignedurl-with-tranformoptions
Fix CreateSignedUrl with TransformOptions
2 parents 25222bf + 04baf89 commit dc57899

File tree

3 files changed

+23
-5
lines changed

3 files changed

+23
-5
lines changed

Storage/StorageFileApi.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using System.Threading.Tasks;
77
using System.Web;
88
using Newtonsoft.Json;
9+
using Newtonsoft.Json.Converters;
910
using Supabase.Storage.Exceptions;
1011
using Supabase.Storage.Extensions;
1112
using Supabase.Storage.Interfaces;
@@ -67,7 +68,11 @@ public async Task<string> CreateSignedUrl(string path, int expiresIn, TransformO
6768
var url = $"{Url}/object/sign/{GetFinalPath(path)}";
6869

6970
if (transformOptions != null)
70-
body.Add("transform", transformOptions);
71+
{
72+
var transformOptionsJson = JsonConvert.SerializeObject(transformOptions, new StringEnumConverter());
73+
var transformOptionsObj = JsonConvert.DeserializeObject<Dictionary<string, object>>(transformOptionsJson);
74+
body.Add("transform", transformOptionsObj);
75+
}
7176

7277
var response = await Helpers.MakeRequest<CreateSignedUrlResponse>(HttpMethod.Post, url, body, Headers);
7378

Storage/TransformOptions.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using Newtonsoft.Json;
1+
using System.Runtime.Serialization;
2+
using Newtonsoft.Json;
23
using Supabase.Core.Attributes;
34

45
namespace Supabase.Storage
@@ -13,11 +14,11 @@ public class TransformOptions
1314
/// </summary>
1415
public enum ResizeType
1516
{
16-
[MapTo("cover")]
17+
[MapTo("cover"), EnumMember(Value = "cover")]
1718
Cover,
18-
[MapTo("contain")]
19+
[MapTo("contain"), EnumMember(Value = "contain")]
1920
Contain,
20-
[MapTo("fill")]
21+
[MapTo("fill"), EnumMember(Value = "fill")]
2122
Fill
2223
}
2324

StorageTests/StorageFileTests.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,18 @@ public async Task GetSignedLink()
179179
await _bucket.Remove(new List<string> { name });
180180
}
181181

182+
[TestMethod("File: Get Signed Link with transform options")]
183+
public async Task GetSignedLinkWithTransformOptions()
184+
{
185+
var name = $"{Guid.NewGuid()}.bin";
186+
await _bucket.Upload(new Byte[] { 0x0, 0x1 }, name);
187+
188+
var url = await _bucket.CreateSignedUrl(name, 3600, new TransformOptions { Width = 100, Height = 100 });
189+
Assert.IsTrue(Uri.IsWellFormedUriString(url, UriKind.Absolute));
190+
191+
await _bucket.Remove(new List<string> { name });
192+
}
193+
182194
[TestMethod("File: Get Multiple Signed Links")]
183195
public async Task GetMultipleSignedLinks()
184196
{

0 commit comments

Comments
 (0)