Fix cache issues with creator's logo and banner

This commit is contained in:
2025-04-04 00:49:14 -04:00
parent 461d4f3c7e
commit 23ee580e78
4 changed files with 13 additions and 7 deletions

View File

@@ -49,7 +49,7 @@ public class ChangeBannerHandler(
request.File.ContentType, request.File.ContentType,
ct); ct);
creator.Images.Banner = blobUrl; creator.Images.Banner = $"{blobUrl}?t={DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()}";
await context.SaveChangesAsync(ct); await context.SaveChangesAsync(ct);

View File

@@ -8,6 +8,10 @@ public record ChangeLogoRequest(
Guid CreatorId, Guid CreatorId,
IFormFile File); IFormFile File);
[PublicAPI]
public record ChangeLogoResponse(
string BlobUrl);
[PublicAPI] [PublicAPI]
public sealed class ChangeLogoRequestValidator : Validator<ChangeLogoRequest> public sealed class ChangeLogoRequestValidator : Validator<ChangeLogoRequest>
{ {
@@ -61,10 +65,12 @@ public class ChangeLogoHandler(
request.File.ContentType, request.File.ContentType,
ct); ct);
creator.Images.Logo = blobUrl; creator.Images.Logo = $"{blobUrl}?t={DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()}";
await context.SaveChangesAsync(ct); await context.SaveChangesAsync(ct);
await SendOkAsync(blobUrl, ct); await SendOkAsync(
new ChangeLogoResponse(blobUrl),
ct);
} }
} }

View File

@@ -68,12 +68,12 @@ const publish = async () => {
const formData = new FormData() const formData = new FormData()
formData.append('file', selectedFile.value) formData.append('file', selectedFile.value)
await client.post( const response = await client.post(
`/api/creators/${props.creator.id}/banner`, `/api/creators/${props.creator.id}/banner`,
formData formData
) )
props.creator.images.banner = fileUrl props.creator.images.banner = `${response.data.blobUrl}?t=${Date.now()}`
emits('closeRequested') emits('closeRequested')
} catch (error) { } catch (error) {
console.error(error) console.error(error)

View File

@@ -70,11 +70,11 @@ const publish = async () => {
const formData = new FormData(); const formData = new FormData();
formData.append('file', selectedFile.value) formData.append('file', selectedFile.value)
await client.post( const response = await client.post(
`/api/creators/${props.creator.id}/logo`, `/api/creators/${props.creator.id}/logo`,
formData) formData)
props.creator.images.logo = fileUrl.value; props.creator.images.logo = `${response.data.blobUrl}?t=${Date.now()}`;
emits('closeRequested'); emits('closeRequested');
} catch (error) { } catch (error) {
console.error(error) console.error(error)