diff --git a/backend/src/Web/Features/Contents/Handlers/ChangeBanner.cs b/backend/src/Web/Features/Contents/Handlers/ChangeBanner.cs index 04b8cb4..dd283a9 100644 --- a/backend/src/Web/Features/Contents/Handlers/ChangeBanner.cs +++ b/backend/src/Web/Features/Contents/Handlers/ChangeBanner.cs @@ -49,7 +49,7 @@ public class ChangeBannerHandler( request.File.ContentType, ct); - creator.Images.Banner = blobUrl; + creator.Images.Banner = $"{blobUrl}?t={DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()}"; await context.SaveChangesAsync(ct); diff --git a/backend/src/Web/Features/Contents/Handlers/ChangeLogo.cs b/backend/src/Web/Features/Contents/Handlers/ChangeLogo.cs index 80deb04..917ab0a 100644 --- a/backend/src/Web/Features/Contents/Handlers/ChangeLogo.cs +++ b/backend/src/Web/Features/Contents/Handlers/ChangeLogo.cs @@ -8,6 +8,10 @@ public record ChangeLogoRequest( Guid CreatorId, IFormFile File); +[PublicAPI] +public record ChangeLogoResponse( + string BlobUrl); + [PublicAPI] public sealed class ChangeLogoRequestValidator : Validator { @@ -61,10 +65,12 @@ public class ChangeLogoHandler( request.File.ContentType, ct); - creator.Images.Logo = blobUrl; + creator.Images.Logo = $"{blobUrl}?t={DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()}"; await context.SaveChangesAsync(ct); - await SendOkAsync(blobUrl, ct); + await SendOkAsync( + new ChangeLogoResponse(blobUrl), + ct); } } diff --git a/frontend/src/views/creators/BannerEditor.vue b/frontend/src/views/creators/BannerEditor.vue index 1fdc768..4a8afb6 100644 --- a/frontend/src/views/creators/BannerEditor.vue +++ b/frontend/src/views/creators/BannerEditor.vue @@ -68,12 +68,12 @@ const publish = async () => { const formData = new FormData() formData.append('file', selectedFile.value) - await client.post( + const response = await client.post( `/api/creators/${props.creator.id}/banner`, formData ) - props.creator.images.banner = fileUrl + props.creator.images.banner = `${response.data.blobUrl}?t=${Date.now()}` emits('closeRequested') } catch (error) { console.error(error) diff --git a/frontend/src/views/creators/CreatorLogoEditor.vue b/frontend/src/views/creators/CreatorLogoEditor.vue index d7858f1..2f199f9 100644 --- a/frontend/src/views/creators/CreatorLogoEditor.vue +++ b/frontend/src/views/creators/CreatorLogoEditor.vue @@ -70,11 +70,11 @@ const publish = async () => { const formData = new FormData(); formData.append('file', selectedFile.value) - await client.post( + const response = await client.post( `/api/creators/${props.creator.id}/logo`, formData) - props.creator.images.logo = fileUrl.value; + props.creator.images.logo = `${response.data.blobUrl}?t=${Date.now()}`; emits('closeRequested'); } catch (error) { console.error(error)